SimplePortal

Customization => Blocks and Modifications => Block Requests => Topic started by: tanks on May 09, 2009, 01:40:18 PM

Title: Block Request: Recent Topics With First Attachment Thumbnail
Post by: tanks on May 09, 2009, 01:40:18 PM
Okey so i run a movie board and i would love to have a block that would show recent topics from one board. But instead of icons it would show the thumbnail of the first attachment for each topic.

Is this even possible ?  8)
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: tanks on May 11, 2009, 06:14:32 AM
Sorry for the bumb, but is this possible ?  :nervous-happy:
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: kai920 on July 27, 2009, 01:40:01 PM
I'm looking for something like this as well. Just looking to spice up the frontpage of the portal a bit by including images. I'm sure it's possible as I have done something similar for Joomla + SMF, but I'm new to Simple Portal.

- which file(s) would I need to edit?
- should I create a new block, based off of the default "Board News" block?
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: kai920 on July 28, 2009, 12:30:18 PM
I'm experimenting with SMF Media Gallery (SMG) from http://smf-media.com/

So far the linked images using the [smg id=xx] tags show up on the frontpage of the portal, which is fantastic!
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: timour_2 on November 19, 2009, 04:41:24 PM
I found this somewhere on the net


here it goes:



1) Search for your function ssi_boardNews and replace the whole function with this :

Code: [Select]
function ssi_boardNews($board = null, $limit = null, $start = null, $length = null, $output_method = 'echo')
{
global $scripturl, $db_prefix, $txt;
global $settings, $modSettings, $context;

loadLanguage('Stats');

// Must be integers....
if ($limit === null)
$limit = isset($_GET['limit']) ? (int) $_GET['limit'] : 5;
else
$limit = (int) $limit;

if ($start === null)
$start = isset($_GET['start']) ? (int) $_GET['start'] : 0;
else
$start = (int) $start;

if ($board !== null)
$board = (int) $board;
elseif (isset($_GET['board']))
$board = (int) $_GET['board'];

if ($length === null)
$length = isset($_GET['length']) ? (int) $_GET['length'] : 0;
else
$length = (int) $length;

// Make sure guests can see this board.
$request = db_query("
SELECT ID_BOARD
FROM {$db_prefix}boards
WHERE " . ($board === null ? '' : "ID_BOARD = $board
AND ") . "FIND_IN_SET(-1, memberGroups)
LIMIT 1", __FILE__, __LINE__);
if (mysql_num_rows($request) == 0)
{
if ($output_method == 'echo')
die($txt['smf_news_error2']);
else
return array();
}
list ($board) = mysql_fetch_row($request);
mysql_free_result($request);

// Find the posts.
$request = db_query("
SELECT
m.icon, m.subject, m.body, IFNULL(mem.realName, m.posterName) AS posterName, m.posterTime,
t.numReplies, t.ID_TOPIC, m.ID_MEMBER, m.smileysEnabled, m.ID_MSG
FROM {$db_prefix}topics AS t, {$db_prefix}messages AS m
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
WHERE t.ID_BOARD = $board
AND m.ID_MSG = t.ID_FIRST_MSG
ORDER BY m.ID_MSG DESC
LIMIT $start, $limit", __FILE__, __LINE__);
$return = array();
$message_ids = array();
while ($row = mysql_fetch_assoc($request))
{
$message_ids[] = $row['ID_MSG'];
// If we want to limit the length of the post.
if (!empty($length) && strlen($row['body']) > $length)
{
$row['body'] = substr($row['body'], 0, $length);

// The first space or line break. (<br />, etc.)
$cutoff = max(strrpos($row['body'], ' '), strrpos($row['body'], '<'));

if ($cutoff !== false)
$row['body'] = substr($row['body'], 0, $cutoff);
$row['body'] .= '...';
}

$row['body'] = doUBBC($row['body'], $row['smileysEnabled']);

censorText($row['subject']);
censorText($row['body']);

  $return[$row['ID_MSG']] = array(
'attachments' => array(),
'id' => $row['ID_TOPIC'],
'icon' => '<img src="' . $settings['images_url'] . '/post/' . $row['icon'] . '.gif" align="middle" alt="' . $row['icon'] . '" />',
'subject' => $row['subject'],
'time' => timeformat($row['posterTime']),
'timestamp' => $row['posterTime'],
'body' => $row['body'],
'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0',
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.0">' . $row['numReplies'] . ' ' . ($row['numReplies'] == 1 ? $txt['smf_news_1'] : $txt['smf_news_2']) . '</a>',
'replies' => $row['numReplies'],
'new_comment' => '<a href="' . $scripturl . '?action=post;topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . '">' . $txt['smf_news_3'] . '</a>',
'poster' => array(
'id' => $row['ID_MEMBER'],
'name' => $row['posterName'],
'href' => !empty($row['ID_MEMBER']) ? $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] : '',
'link' => !empty($row['ID_MEMBER']) ? '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>' : $row['posterName']
),
'is_last' => false
);
}
mysql_free_result($request);



if (empty($return))
return $return;

// Find their attachments.

$request = db_query("
SELECT ID_ATTACH, ID_MSG, filename, size, downloads
FROM {$db_prefix}attachments
WHERE ID_MSG IN (" . implode(', ', $message_ids) . ")", __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($request))

{
$return[$row['ID_MSG']]['attachments'][] = array(
'name' => $row['filename'],
'downloads' => $row['downloads'],
'size' => round($row['size'] / 1024, 2) . ' ' . $txt['smf211'],
'byte_size' => $row['size'],
'href' => $scripturl . '?action=dlattach;topic=' . $return[$row['ID_MSG']]['id'] . '.0;id=' . $row['ID_ATTACH'],
'link' => '<a href="' . $scripturl . '?action=dlattach;topic=' . $return[$row['ID_MSG']]['id'] . '.0;id=' . $row['ID_ATTACH'] . '">' . $row['filename'] . '</a>'
);
}
mysql_free_result($request);
return $return;
}



Now you can pull out attachments.

php block :   2) Second step is easy, I managed to edit the script so the result you want (and I) is done.

Code: [Select]
$array_boardNews = ssi_boardNews(7.0, 3, null, 'array');
foreach ($array_boardNews as $news)
{
$newsImage = '' ;
if( isset( $news[ 'attachments' ][ 0 ] ) )
{
$newsImage = '<img class="news" src="' . $news[ 'attachments' ][ 0 ][ 'href' ] . ';image" alt="' . $news[ 'attachments' ][ 0 ][ 'name' ] . '" title="' . $news[ 'attachments' ][ 0 ][ 'name' ] . '" width="100" height="100"/>' ;
}
echo '<a href="'.$news['href']. '">
<div class="teaser">
<div class="teasercontent">
<h1 class="news">' . $news['subject'] . '</h1>' . $newsImage. '
</div>
<div class="teaserfooter">
</a></div>
</div>
';
}


All you have to do is editing this line :
$array_boardNews = ssi_boardNews(7.0, 3, null, 'array');

7.0 = The board out of which topics + attachments are taken.
3 = the number of how many topics (together with their images) should been shown.
That's all you have to edit.
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: timour_2 on November 19, 2009, 04:44:53 PM
It shows topic and the first attachment :nervous-happy:

Now, is it possible to show first 100+ words of the topic?
Can anyone help? I've been looking for this for a long time now... Hope someone will manage to do it :thumbsup:



I'VE FIGURED IT OUT
in case someone needs it as well:
Code: [Select]
$array_boardNews = ssi_boardNews(1, 3, null, 50, 'array');
foreach ($array_boardNews as $news)
{
$newsImage = '' ;
if( isset( $news[ 'attachments' ][ 0 ] ) )
{
$newsImage = '<img class="news" src="' . $news[ 'attachments' ][ 0 ][ 'href' ] . ';image" alt="' . $news[ 'attachments' ][ 0 ][ 'name' ] . '" title="' . $news[ 'attachments' ][ 0 ][ 'name' ] . '" width="100" height="100"/>' ;
}
echo ' </font>
<div class="teaser">
<div class="teasercontent">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<!-- MSTableType="layout" -->
<tr>
<td width="119" valign="top"><a href="'.$news['href']. '">
<font size="2">' . $newsImage. ' </font>
</a></td>
<td valign="top"><font size="2"><a href="'.$news['href']. '">
' . $news['subject'] . '</a></font><br>
' . $news['body'] . '</td>
</tr>
</table>
</div>
<div class="teaserfooter">
</a></div>
</div>
';
}
 


And this of course goes to PHP block
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: motorhed on April 24, 2012, 10:17:22 PM
Sorry for resurrecting an old topic, but this is exactly what I need for my forum/portal...

However, it doesn't work for me. :ill: lol


Is this compatable with 2.0.X?
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: motorhed on April 25, 2012, 02:48:22 AM
Forgot to mention, this is 'sort of an emergency', ha ha. Basically it's the only thing standing in the way of effectively 'launching' my site. I want to have this nailed down before opening, etc.

I don't expect that means anyone will drop everything and rush to this, but I wanted to mention.
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: andy on April 25, 2012, 09:13:45 AM
Im busy right now and not a coder anyway...

Quote
Is this compatable with 2.0.X?
You need to test it really.


There was a similar request recently - last 1 or 2 months. So if you look through the custom coding/block requests Im sure you will find it.
Other than that  maybe wait till a programmer is not so busy. There might be someone interested in customizing - paid  work - if it is that important. And they have time...
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: motorhed on April 25, 2012, 06:13:35 PM
Well, I didn't ask you specifically, so I didn't expect you to be a coder or not busy... I'm confused. :D lol


I clearly did test it, hence where I said I couldn't get it to work.

I searched for other discussion on the subject. Naturally, nothing I found seemed to work, or it wasn't presented in a way a novice could impliment it. (IE: Describing general concepts, not providing the find/replace code.)

I've already asked if anyone was interested in doing this for pay on two other forums. However, I found a way to do it myself (but NOT the exact way I want, which is how the mod in this thread sounds like it would work) so I'd rather go with that than pay if it comes down to that choice.
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: andy on April 26, 2012, 07:45:55 AM
Yes, I guess if it failed on a clean, up to date install then it is not compatible.

This is all I can find to help. After that your way or perhaps try asking in customization.

http://simpleportal.net/index.php?topic=10766
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: motorhed on April 26, 2012, 08:03:47 PM
Unfortunately I can't use that. The float BBC tag doesn't call the first post attachment, it requires the poster to purposefully put the image in. I need it to be automatic because you can't always rely on people to add the BBC code the way the webmaster prefers.

Don't worry about trying to 'fix' the problem, I just need someone who knows to tell me if this is supposed to work with 2.0.X

I can then proceed depending on their answer.


It needs to be clear that the solution to this issue is to provide (or explain) what was originally asked for, not supply unrelated Mods that don't do what's asked.
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: andy on April 26, 2012, 09:20:07 PM
Just doing what I can to help as getting things exactly to requirements might not be so easy ....
Quote
Forgot to mention, this is 'sort of an emergency',

If you want it exactly your way then I guess you require custom code:
http://simpleportal.net/index.php?board=39.0

Unless a coder picks this up and decides to make  (or fix this) block there is no other option.

I will leave you to it then - good luck.
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: motorhed on April 27, 2012, 01:12:38 AM
If the code in this thread works with 2.0.X and I'm just making a mistake implimenting it, then I don't need custom code, right?

As for the quote, this followed...

I don't expect that means anyone will drop everything and rush to this, but I wanted to mention.
Title: Re: Block Request: Recent Topics With First Attachment Thumbnail
Post by: motorhed on April 29, 2012, 04:09:10 PM
I give up. The code in this thread does not work with 2.0.X, for any future users who may find this topic.
SimplePortal 2.3.8 © 2008-2024, SimplePortal