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,963
  • Latest: BiZaJe
Stats
  • Total Posts: 195,917
  • Total Topics: 21,308
  • Online today: 884
  • Online ever: 8,223 (February 19, 2025, 04:35:35 AM)
Users Online
  • Users: 0
  • Guests: 563
  • Total: 563

[Block] SMF Gallery Random Picture

Started by Thurnok, December 01, 2006, 09:32:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Thurnok

Actually, its a new feature to my SMF Gallery Random Pic block (which has been out for quite some time now).  If you take a look at the code comments, you will see the other features that have been in that block for a long time.

With this block, you can have as many blocks as you want each with different configurations to suit you as you please.  Try it out if you like, its as easy as copy/paste the code into a TP phpblock.  :)

Mannie

I know what the block is hehe been using it for some time. What i mean was the images on the profile screen ;)

babjusi

Quote from: Mannie on May 11, 2007, 06:33:02 AM
I know what the block is hehe been using it for some time. What i mean was the images on the profile screen ;)

I think that this is taken in consideration for the feature releases of TP, but don''t qoute me on this as I may have heard it wrong

wilsy

Thanks to Thurnock we now have member profiles with images - awesome work and I for one am really grateful  ;D

Can I now give a shameless plug to a request made some time ago for a search facility which would sooooo much compliment Thurnocks new profile images block: -

http://www.tinyportal.net/index.php?topic=14919.0

Regards,

Wilsy.

npereira

I put this code snippet inside a php block in TP, and I get this error:

Parse error: syntax error, unexpected $end in /home/ottmoto/public_html/Sources/Load.php(1752) : eval()'d code(35) : eval()'d code on line 255


Quote from: Thurnok on December 01, 2006, 09:32:24 AM
(Note: new features in red)

What it is:
This block displays random, newest, oldest, most/least viewed or commented picture(s) from your SMF Gallery mod inside a block of your choice.  Actually, it displays the thumbnail and links to the full picture.

Type of block:
This is a phpblock.  It can be any block/article position (left/right/center/front/article).  If you use it in a left/right block, you should set the columns to 1.  If you use a center/frontpage/article block, then set the columns to however many you want.

This block snippet can be used in multiple simultaneous blocks using the same or different configuration settings in each without issue.


Features:
  • configurable number of pictures to display
  • sort order to display newest/oldest or most/least pics
  • configurable number of columns to display the pictures in
  • enable title display (if viewer is picture poster, it becomes a link to edit the picture)
  • displayed thumbnail links to full picture from the gallery
  • enable display of picture poster (links to their profile)
  • enable display of date posted
  • enable display of category picture is in (links to that gallery category)
  • enable display of number of views
  • enable display of picture dimensions (width X height)
  • enable display of picture's filesize
  • enable display of picture's description
  • can disallow pictures from various categories
  • can allow pictures only from various categories (disallowed cats override)
  • only displays approved pictures
  • configurable to require allowedTo('smfgallery_view') permission or not for viewing thumbnail
  • display pics posted by a member who's profile you are viewing, in the profile screen (see profile note) - added in ver 1.6
  • display pics posted by members in your buddy list - added in ver 1.7

    Profile Note: You must enable panels (blocks) for the profile screen via TinyPortal -> Settings -> Panels -> Hide panels when in these sections: -> Profile screen: No

    Buddy List Note: This will work everywhere except under the following condition:
    - you have the option to display profile pics turned on in an SMF Gallery Random Pic block that displays while in the profile screen, and you are currently viewing some member's profile.
    In otherwords, the Profile pics display will override the buddy pics display in that case.  If this same block however, displays on other pages (frontpage, forum, etc) then the buddy pics will display in the block when on those pages!

    See the Admin configuration section in code for each configuration variable.

    ////////////////////////////////////////////////////
    // 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 = 1;

    // 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 = 1;

    // information display flags (0 = No, 1 = Yes)
    // display picture title?
    $gal_dispTitle = 1;
    // display membername who posted pic?
    $gal_dispMember = 1;
    // display posted date?
    $gal_dispDate = 1;
    // display category the picture is in?
    $gal_dispCategory = 1;
    // display number of views?
    $gal_dispViews = 1;
    // display dimensions?
    $gal_dispDimensions = 1;
    // display filesize?
    $gal_dispSize = 1;
    // 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!';
    }


thefley

#95
Damn I am so GLAD I found TP.... you guys are GREAT. I have added so many cool options that fit my board.  I got the Calendar TP mod last night now this one.!!! 

YOU GUYS and GALs keep up the great work!!!


Ibexy

How or where do I get the category numbers?

Thurnok

You can click the gallery link on your site, and the categories should be displayed.  Just hover your mouse over the category name links and look at the URL in the status bar of your browser.  It should have at the end of the url something like:  cat=<cat number>  Example ( cat=4 ).

Or you can also go to the SMF Admin Control Panel, select Gallery Configuration, and then Manage Gallery to do the same thing.

martinmarinekeeper

Great stuff

Clever man
hats off to you fella thanks

iGate

#99
nice mod...

i have this installed to just display the image only but i get some url related text in the block which shouldn't be there. any ideas on how to remove it.

thanks

PS my site is : http://test.ihf.lp.pl

This website is proudly hosted on Crocweb Cloud Website Hosting.