SimplePortal

Customization => Custom Coding => Topic started by: DaRKeN on November 25, 2010, 08:43:23 AM

Title: Blocks In Blocks -- Several Albums
Post by: DaRKeN on November 25, 2010, 08:43:23 AM
Hi! :)


Using this style:



Code: [Select]
global $txt;

$txt['recent_topics'] = 'Recent Topics';
$txt['recent_posts'] = 'Recent Posts';

$buttons = array(
   'recent_topics' => array(
      'text' => 'recent_topics',
      'image' => '',
      'lang' => true,
      'url' => '#recent_topics" id="b_rt" onclick="change_display(\'rp\'); return false;',
      'active' => true,
   ),
   'recent_posts' => array(
      'text' => 'recent_posts',
      'image' => '',
      'lang' => true,
      'url' => '#recent_posts" id="b_rp" onclick="change_display(\'rt\'); return false;',
   ),
);

echo '
<div style="overflow: auto;">
   ', template_button_strip($buttons), '
</div>
<div id="recent_topics">
   ', sp_recent(array('type' => 1, 'display' => 1), 0), '
</div>
<div id="recent_posts" style="display: none;">
   ', sp_recent(array('display' => 1), 0), '
</div>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
   function change_display(block)
   {
      var current = block == \'rt\' ? 1 : 0;

      document.getElementById(\'recent_topics\').style.display = current ? \'none\' : \'\';
      document.getElementById(\'recent_posts\').style.display = current ? \'\' : \'none\';
      document.getElementById(\'b_rt\').className = current ? \'button_strip_recent_topics\' : \'button_strip_recent_topics active\';
      document.getElementById(\'b_rp\').className = current ? \'button_strip_recent_posts active\' : \'button_strip_recent_posts\';
   }
// ]]></script>';



I would like to block a block containing albums of the gallery, which looks like this:

1: Recently Added Album 1
2: Recently Added Album 2
3: Recently Added Album 3
4: Recently Added Album 4





I tried using this code to create a block (taken from PortalBlocks.php)

Code: [Select]
global $db_prefix, $context, $modSettings, $scripturl;
global $sourcedir, $txt, $settings, $boardurl, $galurl;
static $mod, $GD_Installed;

$block_parameters = array(
'limit' => 'int',
'type' => 'select',
'direction' => 'select',
);

if ($return_parameters)
return $block_parameters;

$limit = empty($parameters['limit']) ? 7 : (int) $parameters['limit'];
$type = empty($parameters['type']) ? 0 : 1;
$direction = empty($parameters['direction']) ? 1 : 1;

if (!isset($mod))
{
if (file_exists($sourcedir . '/Aeva-Media.php'))
$mod = 'aeva_media';
elseif (file_exists($sourcedir . '/MGallery.php'))
$mod = 'smf_media_gallery';
elseif (file_exists($sourcedir . '/Gallery.php'))
$mod = 'smf_gallery';
}

if (empty($mod))
{
echo '
', $txt['error_sp_no_gallery_found'];
return;
}
elseif ($mod == 'aeva_media')
{
require_once($sourcedir . '/Aeva-Subs.php');

$items = aeva_getMediaItems(0, $limit, $type ? 'RAND()' : 'm.id_media DESC');
}
elseif ($mod == 'smf_media_gallery')
{
require_once($sourcedir . '/Subs-MGallery.php');

loadMGal_Settings();
if (loadLanguage('MGallery', '', false) === false)
loadLanguage('MGallery', 'english', false);

$items = getMediaItems(0, $limit, $type ? 'RAND()' : 'm.id_media DESC');
}
elseif ($mod == 'smf_gallery')
{
if (loadLanguage('Gallery', '', false) === false)
loadLanguage('Gallery', 'english', false);

if (!isset($GD_Installed))
$GD_Installed = function_exists('imagecreate');

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

$request = db_query("
SELECT
p.ID_PICTURE, p.commenttotal, p.filesize, p.views, p.thumbfilename,
p.filename, p.height, p.width, p.title, p.ID_MEMBER, m.memberName,
m.realName, p.date, p.description
FROM {$db_prefix}gallery_pic AS p
LEFT JOIN {$db_prefix}members AS m ON (m.ID_MEMBER = p.ID_MEMBER)
WHERE p.approved = 1
ORDER BY " . ($type ? 'RAND()' : 'p.ID_PICTURE DESC') . "
LIMIT $limit", __FILE__, __LINE__);
$items = array();
while ($row = mysql_fetch_assoc($request))
{
$items[] = array(
'id' => $row['ID_PICTURE'],
'title' => $row['title'],
'views' => $row['views'],
'poster_id' => $row['ID_MEMBER'],
'poster_name' => $row['realName'],
'poster_link' => empty($row['ID_MEMBER']) ? $txt['gallery_guest'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>',
'thumbfilename' => $row['thumbfilename'],
'filename' => $row['filename'],
'src' => $modSettings['gallery_url'] . ($GD_Installed ? $row['thumbfilename'] : $row['filename'] . '" width="120'),
);
}
mysql_free_result($request);
}

if (empty($items))
{
echo '
', $txt['error_sp_no_pictures_found'];
return;
}

echo '
<table class="sp_auto_align">', $direction ? '
<tr>' : '';

foreach ($items as $item)
{
  echo !$direction ? '
<tr>' : '', '
<td>
<div class="sp_image smalltext">';

if ($mod == 'aeva_media')
{
echo '
<a href="', $galurl, 'sa=item;id=', $item['id'], '"><img src="', $galurl, 'sa=media;id=', $item['id'], ';thumb" alt="" /></a><br />
                                                <a href="', $galurl, 'sa=item;id=', $item['id'], '">', $item['title'], '</a><br />
', $item['is_new'] ?
'<br /><img alt="" src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/new.gif" border="0" />' : '';
}
elseif ($mod == 'smf_media_gallery')
{
echo '
<a href="', $galurl, 'sa=item;id=', $item['id'], '">', $item['title'], '</a><br />
<a href="', $galurl, 'sa=item;id=', $item['id'], '"><img src="', $galurl, 'sa=media;id=', $item['id'], ';thumb" alt="" /></a><br />
', $txt['mgallery_views'], ': ', $item['views'], '<br />
', $txt['mgallery_posted_by'], ': <a href="', $scripturl, '?action=profile;u=', $item['poster_id'], '">', $item['poster_name'], '</a><br />
', $txt['mgallery_in_album'], ': <a href="', $galurl, 'sa=album;id=', $item['id_album'], '">', $item['album_name'], '</a>', $item['is_new'] ?
'<br /><img alt="" src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/new.gif" border="0" />' : '';
}
elseif ($mod == 'smf_gallery')
{
echo '
<a href="', $scripturl, '?action=gallery;sa=view;id=', $item['id'], '">', $item['title'], '</a><br />
<a href="', $scripturl, '?action=gallery;sa=view;id=', $item['id'], '"><img src="', $item['src'], '" alt="" /></a><br />
', $txt['gallery_text_views'], $item['views'], '<br />
', $txt['gallery_text_by'], ' ', $item['poster_link'], '<br />';
}

echo '
</div>
</td>', !$direction ? '
</tr>' : '';
}

echo $direction ? '
</tr>' : '', '
</table>';



What happens is that I have a few glitches:

1 .- Do not be put to show the album I want, leaving only recently added in all albums

2 .- The code blocks that need, which is the code that I put first, not the style fits me, not if it's because I use SMF 1.1.12

It looks so:

(http://img822.imageshack.us/img822/1282/error1f.jpg) (http://img822.imageshack.us/my.php?image=error1f.jpg)



When clicking a Recent Posts looks like this:

(http://img232.imageshack.us/img232/1272/error20.jpg) (http://img232.imageshack.us/my.php?image=error20.jpg)




And in both cases. much space down  :0


Can someone help me please:)
Title: Re: Re: Blocks In Blocks
Post by: DaRKeN on November 27, 2010, 07:08:40 AM
Up!  :(
SimplePortal 2.3.8 © 2008-2024, SimplePortal