Posts: 21
Threads: 1
Joined: May 2011
Reputation:
0
Holaa, Queria saber si me podian ayudar bueno solo si es posible es que quiero que en la Caja de Ultimos Temas del Portal pueda ser mostrado los temas de X Foro..
Saludos y espero que me puedan ayudar
Posts: 8,897
Threads: 357
Joined: Jan 2010
Reputation:
426
2012-07-09, 09:50 PM
(This post was last modified: 2012-07-09, 09:51 PM by Omar G..)
En el portal.php, abrelo y busca:
WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
Cambialo por:
WHERE 1=1 $unviewwhere AND t.fid IN (1,2,3,4,5) AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
Como veras, el "1,2,3,4,5" seran los foros permitidos.
Esto se puede con un plugin, pero si usas Patches seria mejor.
Posts: 21
Threads: 1
Joined: May 2011
Reputation:
0
(2012-07-09, 09:50 PM)Omar G. Wrote: En el portal.php, abrelo y busca:
WHERE 1=1 $unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
Cambialo por:
WHERE 1=1 $unviewwhere AND t.fid IN (1,2,3,4,5) AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
Como veras, el "1,2,3,4,5" seran los foros permitidos.
Esto se puede con un plugin, pero si usas Patches seria mejor.
Oye ha funcionado perfecto Omar. Thanks...
Otra pregunta man para no crear otro tema ya que es acerca del mismo Bloque.
Es posible que en ese bloque de Últimos Temas muestre el Foro donde fue Creado..??
Posts: 8,897
Threads: 357
Joined: Jan 2010
Reputation:
426
Eso seria mas complicado, busca:
while($thread = $db->fetch_array($query))
{
Cambia por:
while($thread = $db->fetch_array($query))
{
$forum = $forum_cache[$thread['fid']];
Ahora podras usar $forum en la plantilla.
Algo asi como {$forum['name']}, {$forum['description']}, etc..
Posts: 21
Threads: 1
Joined: May 2011
Reputation:
0
(2012-07-10, 12:21 AM)Omar G. Wrote: Eso seria mas complicado, busca:
while($thread = $db->fetch_array($query))
{
Cambia por:
while($thread = $db->fetch_array($query))
{
$forum = $forum_cache[$thread['fid']];
Ahora podras usar $forum en la plantilla.
Algo asi como {$forum['name']}, {$forum['description']}, etc..
Funciono de 10 Omar, Muchisimas Gracias
Posts: 1
Threads: 0
Joined: Nov 2011
Reputation:
0
Posts: 14
Threads: 3
Joined: Sep 2010
Reputation:
0
2012-11-13, 07:48 PM
(This post was last modified: 2012-11-13, 08:16 PM by Nomak.)
Omar G. Como hago para hacer eso en ProPortal?? intente hacerlo pero no pude
quiero mostrar el nombre del foro en el bloque de anuncios (block_announcements.php)
<?php
/***************************************************************
* ProPortal
* Copyright © 2010 ProMyBB, All Rights Reserved
*
* Website: http://www.promybb.com/
* License: http://creativecommons.org/licenses/by-nc-sa/3.0/
***************************************************************/
if (!defined("IN_PORTAL")) {
die("<div style=\"border:1px solid #CC0000; padding:3px; margin:0; font-family:Tahoma; width:250px; font-size:12px;\"><strong>Error:</strong> This file cannot be viewed directly!</div>");
}
// Get latest news announcements
// First validate announcement fids:
$announcementsfids = explode(',', $proportal->settings['announcementsfid']);
if(is_array($announcementsfids))
{
foreach($announcementsfids as $fid)
{
$fid_array[] = intval($fid);
}
$announcementsfids = implode(',', $fid_array);
}
// And get them!
$query = $db->simple_select("forums", "*", "fid IN (".$announcementsfids.")");
while($forumrow = $db->fetch_array($query))
{
$forum[$forumrow['fid']] = $forumrow;
}
// Let's add pagination
$annnum = $db->fetch_field($db->simple_select('threads', 'COUNT(*) AS annnum', "fid IN (".$proportal->settings['announcementsfid'].") AND visible='1' AND closed NOT LIKE 'moved|%'"), 'annnum');
$pagenum = intval($mybb->input['page']);
$totalpage = ceil($annnum / $proportal->settings['numannouncements']);
if($pagenum < 1 || !$pagenum || $pagenum > $totalpage){ $pagenum = 1; }
$multipage = multipage($annnum, $proportal->settings['numannouncements'], $pagenum, $mybb->settings['bburl'].'/portal.php');
$pids = '';
$tids = '';
$comma = '';
$query = $db->query("
SELECT p.pid, p.message, p.tid
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."threads t ON (t.tid=p.tid)
WHERE t.fid IN (".$announcementsfids.") AND t.visible='1' AND t.closed NOT LIKE 'moved|%' AND t.firstpost=p.pid
ORDER BY t.dateline DESC
LIMIT ".(($pagenum-1)*$proportal->settings['numannouncements']).", ".$proportal->settings['numannouncements']
);
while($getid = $db->fetch_array($query))
{
$pids .= ",'{$getid['pid']}'";
$tids .= ",'{$getid['tid']}'";
$posts[$getid['tid']] = $getid;
}
$pids = "pid IN(0{$pids})";
// Now lets fetch all of the attachments for these posts
$query = $db->simple_select("attachments", "*", $pids);
while($attachment = $db->fetch_array($query))
{
$attachcache[$attachment['pid']][$attachment['aid']] = $attachment;
}
if(is_array($forum))
{
foreach($forum as $fid => $forumrow)
{
$forumpermissions[$fid] = forum_permissions($fid);
}
}
$icon_cache = $cache->read("posticons");
$announcements = '';
$query = $db->query("
SELECT t.*, t.username AS threadusername, u.username, u.avatar, u.avatardimensions
FROM ".TABLE_PREFIX."threads t
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid = t.uid)
WHERE t.fid IN (".$announcementsfids.") AND t.tid IN (0{$tids}) AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
ORDER BY t.dateline DESC
LIMIT 0, ".$proportal->settings['numannouncements']
);
while($announcement = $db->fetch_array($query))
{
$announcement['message'] = $posts[$announcement['tid']]['message'];
$announcement['pid'] = $posts[$announcement['tid']]['pid'];
$announcement['threadlink'] = get_thread_link($announcement['tid']);
if($announcement['uid'] == 0)
{
$profilelink = htmlspecialchars_uni($announcement['threadusername']);
}
else
{
$profilelink = build_profile_link($announcement['username'], $announcement['uid']);
}
if(!$announcement['username'])
{
$announcement['username'] = $announcement['threadusername'];
}
$announcement['subject'] = htmlspecialchars_uni($parser->parse_badwords($announcement['subject']));
if($announcement['icon'] > 0 && $icon_cache[$announcement['icon']])
{
$icon = $icon_cache[$announcement['icon']];
$icon = "<img src=\"{$icon['path']}\" alt=\"{$icon['name']}\" />";
}
else
{
$icon = " ";
}
if($announcement['avatar'] != '')
{
$avatar_dimensions = explode("|", $announcement['avatardimensions']);
if($avatar_dimensions[0] && $avatar_dimensions[1])
{
list($max_width, $max_height) = explode("x", my_strtolower("35x35"));
if($avatar_dimensions[0] > $max_width || $avatar_dimensions[1] > $max_height)
{
require_once MYBB_ROOT."inc/functions_image.php";
$scaled_dimensions = scale_image($avatar_dimensions[0], $avatar_dimensions[1], $max_width, $max_height);
$ann_avatar_width_height = "width=\"{$scaled_dimensions['width']}\" height=\"{$scaled_dimensions['height']}\"";
}
else
{
$ann_avatar_width_height = "width=\"{$avatar_dimensions[0]}\" height=\"{$avatar_dimensions[1]}\"";
}
}
if (!stristr($announcement['avatar'], 'http://'))
{
$announcement['avatar'] = $mybb->settings['bburl'] . '/' . $announcement['avatar'];
}
$avatar = "<img src=\"{$announcement['avatar']}\" alt=\"\" {$ann_avatar_width_height} />";
}
else
{
$avatar = '';
}
$anndate = my_date($mybb->settings['dateformat'], $announcement['dateline']);
$anntime = my_date($mybb->settings['timeformat'], $announcement['dateline']);
if($announcement['replies'])
{
$numcomments = "{$announcement['replies']}";
}
else
{
$numcomments = "{$lang->no_replies}";
$lastcomment = '';
}
$views = "<strong>{$announcement['views']}</strong> {$lang->latest_threads_views}";
$plugins->run_hooks("pro_portal_announcement");
$parser_options = array(
"allow_html" => $forum[$announcement['fid']]['allowhtml'],
"allow_mycode" => $forum[$announcement['fid']]['allowmycode'],
"allow_smilies" => $forum[$announcement['fid']]['allowsmilies'],
"allow_imgcode" => $forum[$announcement['fid']]['allowimgcode'],
"filter_badwords" => 1
);
if($announcement['smilieoff'] == 1)
{
$parser_options['allow_smilies'] = 0;
}
$message = $parser->parse_message($announcement['message'], $parser_options);
// Cut the message and place a read more link if the related option is enabled
if($proportal->settings['annmessagelength'] > "0")
{
$message = substr($message, 0, $proportal->settings['annmessagelength']);
$message = $message.". <a href=\"".$mybb->settings['bburl']."/".$announcement['threadlink']."\">".$lang->messagemore."</a>";
$message = trim(preg_replace('<<br />>', '', $message));
}
if(is_array($attachcache[$announcement['pid']]))
{ // This post has 1 or more attachments
$validationcount = 0;
$id = $announcement['pid'];
foreach($attachcache[$id] as $aid => $attachment)
{
if($attachment['visible'])
{ // There is an attachment thats visible!
$attachment['filename'] = htmlspecialchars_uni($attachment['filename']);
$attachment['filesize'] = get_friendly_size($attachment['filesize']);
$ext = get_extension($attachment['filename']);
if($ext == "jpeg" || $ext == "gif" || $ext == "bmp" || $ext == "png" || $ext == "jpg")
{
$isimage = true;
}
else
{
$isimage = false;
}
$attachment['icon'] = get_attachment_icon($ext);
// Support for [attachment=id] code
if(stripos($message, "[attachment=".$attachment['aid']."]") !== false)
{
if($attachment['thumbnail'] != "SMALL" && $attachment['thumbnail'] != '')
{ // We have a thumbnail to show (and its not the "SMALL" enough image
eval("\$attbit = \"".$templates->get("portal_miniatura_thumbnails_thumbnail")."\";");
}
elseif($attachment['thumbnail'] == "SMALL" && $forumpermissions[$announcement['fid']]['candlattachments'] == 1)
{
// Image is small enough to show - no thumbnail
eval("\$attbit = \"".$templates->get("postbit_attachments_images_image")."\";");
}
else
{
// Show standard link to attachment
eval("\$attbit = \"".$templates->get("postbit_attachments_attachment")."\";");
}
$message = preg_replace("#\[attachment=".$attachment['aid']."]#si", $attbit, $message);
}
else
{
if($attachment['thumbnail'] != "SMALL" && $attachment['thumbnail'] != '')
{ // We have a thumbnail to show
eval("\$post['thumblist'] .= \"".$templates->get("portal_miniatura_thumbnails_thumbnail")."\";");
if($tcount == 5)
{
$thumblist .= "<br />";
$tcount = 0;
}
++$tcount;
}
elseif($attachment['thumbnail'] == "SMALL" && $forumpermissions[$announcement['fid']]['candlattachments'] == 1)
{
// Image is small enough to show - no thumbnail
eval("\$post['imagelist'] .= \"".$templates->get("postbit_attachments_images_image")."\";");
}
else
{
eval("\$post['attachmentlist'] .= \"".$templates->get("postbit_attachments_attachment")."\";");
}
}
}
else
{
$validationcount++;
}
}
if($post['thumblist'])
{
eval("\$post['attachedthumbs'] = \"".$templates->get("portal_miniatura_thumbnails")."\";");
}
if($post['imagelist'])
{
eval("\$post['attachedimages'] = \"".$templates->get("postbit_attachments_images")."\";");
}
if($post['attachmentlist'] || $post['thumblist'] || $post['imagelist'])
{
eval("\$post['attachments'] = \"".$templates->get("portal_adjunto")."\";");
}
}
eval("\$announcements .= \"".$templates->get("portal_anuncios")."\";");
unset($post);
}
if(!$announcements){ $announcements = "<table cellspacing=\"{$theme['borderwidth']}\" cellpadding=\"{$theme['tablespace']}\" class=\"tborder\">
<tr>
<td class=\"thead\"><strong>{$lang->no_announcement}</strong></td>
</tr>
<tr>
<td class=\"trow2\" valign=\"middle\">{$lang->no_announcement_desc}</td>
</tr>
</table>"; }
$multipage = str_replace('<div class="pagination">', '<div class="pagination" align="center">', $multipage);
echo $announcements.$multipage;
?>
Posts: 8,897
Threads: 357
Joined: Jan 2010
Reputation:
426
Busca:
while($announcement = $db->fetch_array($query))
{
Cambia por:
global $forum_cache;
$forum_cache or cache_forums();
while($announcement = $db->fetch_array($query))
{
$forum = $forum_cache[$announcement['fid']];
Y usa $forum en tu plantilla ( portal_anuncios).
Posts: 2
Threads: 0
Joined: Feb 2012
Reputation:
0
2013-01-20, 02:36 PM
(This post was last modified: 2013-01-20, 02:55 PM by Black★Star.)
gracias, me funciono perfecto
|