TP-Docs
HTML5 Icon HTML5 Icon HTML5 Icon
TP on Social Media

Recent

Welcome to TinyPortal. Please login or sign up.

Members
  • Total Members: 3,966
  • Latest: safir45
Stats
  • Total Posts: 195,985
  • Total Topics: 21,321
  • Online today: 814
  • Online ever: 8,223 (February 19, 2025, 04:35:35 AM)
Users Online

Question for thurnok or anybody willing to answer

Started by garry, February 08, 2008, 05:33:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

garry

This being the code for the random picture generation


Question 1

I was wondering what I would change to get it to load a particular article after someone  selects a random picture instead of going to the galley

Question 2

Is there a way to get it to load a random picture from a seperate directory instead of from the gallery


What I want to do is show random business card pictures from a seperate directory

when someone clicks on a random card Id like it to go to an article that shows all the business cards and then the member will see every business card and then choose the one he wants

I am open to any suggestions if there is a better way to do this





////////////////////////////////////////////////////
// SMF Gallery Random Picture - ver. 1.7.1        //
////////////////////////////////////////////////////
//
// Developed by Thurnok
// Thurnok -AT- tinyportal .DOT. net
// November 30, 2006
//
// Updated 5/9/2007
// 1.7.1
//      - quick fix to parsing the url
//
// Updated 5/9/2007
// 1.7
//      - added option to view pics that members on your buddy list posted
//
// For list of all previous updates history, see the UPDATES.TXT attached file
// in the post where you got this code, or the .ZIP file if you downloaded it
//
// Used in a TinyPortal phpblock or Article.
// This block displays random picture(s) from
// the SMF Gallery mod along with other information
//
//////////////////////////////////////////////

global $scripturl, $db_prefix, $modSettings, $boardurl, $ID_MEMBER, $user_info, $context;

/*
****************************************
****************************************
***    !! Admin Config Section !!    ***
****************************************
****************************************
*/

//   *****   LAYOUT OPTIONS   *****
// how many pictures do you want to show?  0 = all!
$gal_numpics = 0;

// use random, or most recent pics?
// 0 = random, 1 = most recent, 2 = most viewed, 3 = most commented
$gal_showtype = 0;
// sort :: 0 = Descending, 1 = Ascending
$gal_sort = 0;

// enable profile pics display?
// 0 = disable, 1 = enable --- if enabled, and you are viewing a member profile, show pics from that member only
// other options still apply (showtype, sort order, etc)
$gal_profile = 1;

// only show pics from buddies?
// 0 = disable, 1 = enable --- if enabled, will only show pics posted by members in your buddy list
$gal_buddies = 0;

// use Normal Size Text, or Small Size Text? (0 = Normal Size, 1 = Small Size)
$gal_smalltext = 1;

// put pictures in how many columns?  (1 for left/right block, more for centerblock / article if you wish)
$gal_columns = 4;

// information display flags (0 = No, 1 = Yes)
// display picture title?
$gal_dispTitle = 0;
// display membername who posted pic?
$gal_dispMember = 0;
// display posted date?
$gal_dispDate = 0;
// display category the picture is in?
$gal_dispCategory = 0;
// display number of views?
$gal_dispViews = 0;
// display dimensions?
$gal_dispDimensions = 0;
// display filesize?
$gal_dispSize = 0;
// display picture description?
$gal_dispDescription = 0;


//   *****   SECURITY CONFIGURATION   *****
// do not allow the following category numbers to be displayed
// example: $gal_disallowCats = "4,2,7" - don't show categories 2, 4, or 7
$gal_disallowCats = "";
// select only from the following cats - leave empty for all - NOTE:($gal_disallowCats overrides)
// example: $gal_allowCats = "1,3,4" - show only categories 1, 3, and 4
$gal_allowCats = "";
// Require the user has allowedTo('smfgallery_view') permission to view random pics thumbnails in block?
$gal_viewPermission = 1;

/*
****************************************
****************************************
***  !! END Admin Config Section !!  ***
****************************************
****************************************
*/

//###############################################
//###############################################
//   You shouldn't change anything below here
//###############################################
//###############################################

if (empty($modSettings['gallery_url'])){
   $modSettings['gallery_url'] = $boardurl . '/gallery/';
}

$gal_textclass = empty($gal_smalltext) ? "normaltext" : "smalltext";

// get this user's buddy list
$gal_buddylist = implode(",", $user_info['buddies']);

// prep for our switch routine
if (empty($gal_showtype))
   $gal_showtype = 0;

// sort text
if (empty($gal_sort)){
   $gal_sort_text = 'DESC';
} else {
   $gal_sort_text = '';
}

// are we viewing a member profile and $gal_profile is enabled?
if (!empty($gal_profile) && strtolower($context['current_action']) == "profile"){
   $gal_member = empty($_GET['u']) ? $ID_MEMBER : $_GET['u'];
}
// allow member to view random pic based on security settings
if (empty($gal_viewPermission) || allowedTo('smfgallery_view')){
   $gal_query = '
         SELECT
            thumbfilename,
            ID_PICTURE,
            ID_MEMBER,
            date,
            title,
            description,
            views,
            filesize,
            height,
            width,
            commenttotal,
            ID_CAT
         FROM '.$db_prefix.'gallery_pic
         WHERE approved = 1
         '.(empty($gal_member) ? (empty($gal_buddies) ? "" : (empty($gal_buddylist) ? "AND ID_MEMBER = NULL " : "AND ID_MEMBER in ($gal_buddylist)")) : "AND ID_MEMBER = $gal_member" ).'
         '.(empty($gal_disallowCats) ? "" : "   AND ID_CAT NOT IN ($gal_disallowCats)").'
         '.(empty($gal_allowCats) ? "" : "   AND ID_CAT IN ($gal_allowCats)").'
         GROUP BY thumbfilename ';

   switch ($gal_showtype){
      // most/least recent
      case 1:
         $gal_query .= '
               ORDER BY date '.$gal_sort_text;
         break;

      // most/least viewed
      case 2:
         $gal_query .= '
               ORDER BY views '.$gal_sort_text;
         break;

      // most/least commented
      case 3:
         $gal_query .= '
               ORDER BY commenttotal '.$gal_sort_text;
         break;

      default:
         $gal_query .= '
               ORDER BY rand() '.$gal_sort_text;
         break;
   }
   $gal_query .= (empty($_GET['gal_viewall']) && !empty($gal_numpics)) ? ' LIMIT '.$gal_numpics : '';
   $gal_result = mysql_query($gal_query);
   if (!$gal_result){
      // error retrieving information from database
      if (mysql_errno() == 1146){
         echo '<p />Error, no database found!<p />';
      } else {
         echo '<p />MySQL error:'.mysql_error().'<p />';
      }
   } else {
      echo "\n".'<table cellspacing="0" cellpadding="5" border="0" align="center" width="90%">'."\n";
   
      $gal_colcnt = 1;
      echo "   <tr>\n";
      while ($row = mysql_fetch_assoc($gal_result)){
         if ($gal_colcnt > $gal_columns){
            // close out the row and start a new row
            echo "   </tr>\n   <tr>\n".'      <td colspan="'.$gal_columns.'"><hr /></td>'."\n   </tr>\n   <tr>\n";
            // reset count to column 1
            $gal_colcnt = 1;
         }
         echo   '      <td class="'.$gal_textclass.'" align="center">'."\n";
         // display title if enabled, make edit link if viewing user is picture poster
         if (!empty($gal_dispTitle)){
            echo "         ".($ID_MEMBER == $row['ID_MEMBER'] ? ('<a href="'.$scripturl.'?action=gallery;sa=edit;id='.$row['ID_PICTURE'].'">'.$row['title'].'</a>') : $row['title'])."<br />\n";
         }
         // display the picture thumbnail and link it to gallery full picture
         echo   '         <a href="'.$scripturl.'?action=gallery;sa=view;id='.$row['ID_PICTURE'].'"><img src="'.$modSettings['gallery_url'].$row['thumbfilename'].'" /></a><br />'."\n";
         // display poster's name and posted date if enabled
         if (!empty($gal_dispMember) || !empty($gal_dispDate)){
            echo 'Posted';
            if (!empty($gal_dispMember)){
               // display the membername who posted pic?  need to get name based on ID_MEMBER
               $gal_tmp = mysql_fetch_assoc(mysql_query("SELECT memberName FROM ".$db_prefix."members WHERE ID_MEMBER = ".$row['ID_MEMBER']));
               echo ' by

// <a href="'.$scripturl.'?action=profile;u='.$row['ID_MEMBER'].'">'.$gal_tmp['memberName'].'</a>';
            }
            if (!empty($gal_dispDate)){
               // display the date it was posted
               echo ' on '.date("d M Y", $row['date']);
            }
            echo "<br />\n";
         }
         // display category if enabled
         if (!empty($gal_dispCategory)){
            // get category name based on category id
            $gal_tmp = mysql_fetch_assoc(mysql_query("SELECT title FROM ".$db_prefix."gallery_cat WHERE ID_CAT = ".$row['ID_CAT']));
            echo '<br />in<br />

// <a  href="'.$scripturl.'?action=gallery;cat='.$row['ID_CAT'].'">'.$gal_tmp['title']."</a><br /><br />\n";
         }
         // display number of views if enabled
         if (!empty($gal_dispViews)){
            echo "Viewed ".$row['views']." times<br />\n";
         }
         // display dimensions if enabled
         if (!empty($gal_dispDimensions)){
            echo $row['width']."w X ".$row['height']."h<br />\n";
         }
         // display filesize if enabled
         if (!empty($gal_dispSize)){
            echo $row['filesize']." bytes<br />\n";
         }
         // display description if enabled
         if (!empty($gal_dispDescription)){
            echo "<br />".$row['description']."<br />\n";
         }
         echo   "      </td>\n";
         $gal_colcnt++;
      }
      mysql_free_result($gal_result);
      echo "   </tr>\n</table>\n";
      if (!empty($gal_member) && empty($_GET['gal_viewall']))
         echo '<br /><a href="'.$boardurl.'/index.php?action=profile;u='.$gal_member.';gal_viewall=1">View all pics from this member</a>';
      if (!empty($gal_buddies) && empty($_GET['gal_viewall'])){
         // build the link
         $gal_querystring = $context['TPortal']['querystring'];
         $gal_querystring .= empty($gal_querystring) ? 'gal_viewall=1' : ';gal_viewall=1';
         echo '<br /><a href="'.$boardurl.'/index.php?'.$gal_querystring.'">View all pics of buddies</a>';
      }
   }
} else {
   echo 'Sorry, you do not have permission to view pictures!';
}

Lesmond

Have a look in the Block code snippets board, there are a few there that could used for what you need, this one looks quite easy to set up for any use A Random Picture/Banner Script

IchBin

1. You can change the URL at this location:
// display the picture thumbnail and link it to gallery full picture
         echo   '         <a href="'.$scripturl.'?action=gallery;sa=view;id='.$row['ID_PICTURE'].'"><img src="'.$modSettings['gallery_url'].$row['thumbfilename'].'" /></a><br />'."\n";


Just change the URL in the href to go where you need it to.

2. Not possible without re-writing the code to read another directory. Right now it is setup to call the gallery DB and get the appropriate information. If you ask me, thats a whole other script you're asking for.


garry

Work gets in the way of life

Id like to sit here and keep playing with all these new toys you guys keep showing me

Thank you for all your knowledge that you all so freely share

This website is proudly hosted on Crocweb Cloud Website Hosting.