ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์CMS & Free ScriptSMF มีปัญหาเกี่ยวกับ ดึงกระทู้แล้วกระทู้หายครับ ssi_latestTopics
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: SMF มีปัญหาเกี่ยวกับ ดึงกระทู้แล้วกระทู้หายครับ ssi_latestTopics  (อ่าน 617 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
javo
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 267



ดูรายละเอียด
« เมื่อ: 18 กันยายน 2013, 20:14:42 »

SMF มีปัญหาเกี่ยวกับ ดึงกระทู้แล้วกระทู้หายครับ ssi_latestTopics ผมตัดแปลงจาก ssi_recentTopics นิดหน่อย

คือ ช่วงแรกๆ สามารถดึงมาได้ปกติครับ แต่ช่วงนี้ มันไม่แสดงกระทู้ เลยครับ
อยากทราบว่าเป็นเพราะอะไรครับ จะแก้ไขอย่างไรดีครับ

ตอนนี้ ผมใช้ ฟังค์ชั่นอื่น ดึงแทนอยู่ครับ

แต่อยากรู้ว่าทำไม ใช้ ssi_latestTopics ไม่ได้อ่ะครับ

โค๊ด:
<?php
function ssi_latestTopics($num_recent 8$exclude_boards null$include_boards null$output_method 'echo')
{
global $context$settings$scripturl$txt$db_prefix$user_info;
global $modSettings$smcFunc;

if ($exclude_boards === null && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0)
$exclude_boards = array($modSettings['recycle_board']);
else
$exclude_boards = empty($exclude_boards) ? array() : (is_array($exclude_boards) ? $exclude_boards : array($exclude_boards));

// Only some boards?.
if (is_array($include_boards) || (int) $include_boards === $include_boards)
{
$include_boards is_array($include_boards) ? $include_boards : array($include_boards);
}
elseif ($include_boards != null)
{
$output_method $include_boards;
$include_boards = array();
}

$stable_icons = array('xx''thumbup''thumbdown''exclamation''question''lamp''smiley''angry''cheesy''grin''sad''wink''moved''recycled''wireless');
$icon_sources = array();
foreach ($stable_icons as $icon)
$icon_sources[$icon] = 'images_url';

// Find all the posts in distinct topics.  Newer ones will have higher IDs.
$request $smcFunc['db_query']('substring''
SELECT
m.poster_time, ms.subject, m.id_topic, m.id_member, m.id_msg, b.id_board, b.name AS board_name, t.num_replies, t.num_views,
IFNULL(mem.real_name, m.poster_name) AS poster_name, ' 
. ($user_info['is_guest'] ? '1 AS is_read, 0 AS new_from' '
IFNULL(lt.id_msg, IFNULL(lmr.id_msg, 0)) >= m.id_msg_modified AS is_read,
IFNULL(lt.id_msg, IFNULL(lmr.id_msg, -1)) + 1 AS new_from'
) . ', SUBSTRING(m.body, 1, 384) AS body, m.smileys_enabled, m.icon
FROM {db_prefix}topics AS t
INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
INNER JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board)
INNER JOIN {db_prefix}messages AS ms ON (ms.id_msg = t.id_first_msg)
LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = m.id_member)' 
. (!$user_info['is_guest'] ? '
LEFT JOIN {db_prefix}log_topics AS lt ON (lt.id_topic = t.id_topic AND lt.id_member = {int:current_member})
LEFT JOIN {db_prefix}log_mark_read AS lmr ON (lmr.id_board = b.id_board AND lmr.id_member = {int:current_member})' 
'') . '
WHERE t.id_last_msg >= {int:min_message_id}
. (empty($exclude_boards) ? '' '
AND b.id_board NOT IN ({array_int:exclude_boards})'
) . '
. (empty($include_boards) ? '' '
AND b.id_board IN ({array_int:include_boards})'
) . '
AND {query_wanna_see_board}' 
. ($modSettings['postmod_active'] ? '
AND t.approved = {int:is_approved}
AND m.approved = {int:is_approved}' 
'') . '
ORDER BY t.id_topic DESC
LIMIT ' 
$num_recent,
array(
'current_member' => $user_info['id'],
'include_boards' => empty($include_boards) ? '' $include_boards,
'exclude_boards' => empty($exclude_boards) ? '' $exclude_boards,
'min_message_id' => $modSettings['maxMsgID'] - 35 min($num_recent5),
'is_approved' => 1,
)
);
$topics = array();
while ($row $smcFunc['db_fetch_assoc']($request))
{
$row['body'] = strip_tags(strtr(parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']), array('<br />' => '')));
if ($smcFunc['strlen']($row['body']) > 128)
$row['body'] = $smcFunc['substr']($row['body'], 0128) . '...';

// Censor the subject.
censorText($row['subject']);
censorText($row['body']);

if (empty($modSettings['messageIconChecks_disable']) && !isset($icon_sources[$row['icon']]))
$icon_sources[$row['icon']] = file_exists($settings['theme_dir'] . '/images/post/' $row['icon'] . '.gif') ? 'images_url' 'default_images_url';

// Build the array.
$topics[] = array(
'board' => array(
'id' => $row['id_board'],
'name' => $row['board_name'],
'href' => $scripturl '?board=' $row['id_board'] . '.0',
'link' => '<a href="' $scripturl '?board=' $row['id_board'] . '.0">' $row['board_name'] . '</a>'
),
'topic' => $row['id_topic'],
'poster' => array(
'id' => $row['id_member'],
'name' => $row['poster_name'],
'href' => empty($row['id_member']) ? '' $scripturl '?action=profile;u=' $row['id_member'],
'link' => empty($row['id_member']) ? $row['poster_name'] : '<a href="' $scripturl '?action=profile;u=' $row['id_member'] . '">' $row['poster_name'] . '</a>'
),
'subject' => $row['subject'],
'replies' => $row['num_replies'],
'views' => $row['num_views'],
'short_subject' => shorten_subject($row['subject'], 25),
'preview' => $row['body'],
'time' => timeformat($row['poster_time']),
'timestamp' => forum_time(true$row['poster_time']),
'href' => $scripturl '?topic=' $row['id_topic'] . '.msg' $row['id_msg'] . ';topicseen#new',
'link' => '<a href="' $scripturl '?topic=' $row['id_topic'] . '.msg' $row['id_msg'] . '#new" rel="nofollow">' $row['subject'] . '</a>',
// Retained for compatibility - is technically incorrect!
'new' => !empty($row['is_read']),
'is_new' => empty($row['is_read']),
'new_from' => $row['new_from'],
'icon' => '<img src="' $settings[$icon_sources[$row['icon']]] . '/post/' $row['icon'] . '.gif" align="middle" alt="' $row['icon'] . '" />',
);

}
$smcFunc['db_free_result']($request);

// Just return it.
if ($output_method != 'echo' || empty($topicts))
return $topics;

echo '
<table border="0" class="ssi_table">'
;
foreach ($topics as $topic)
echo '
<tr>
<td align="right" valign="top" nowrap="nowrap">
['
$topic['board']['link'], ']
</td>
<td valign="top">
<a href="'
$topic['href'], '"><b>'$topic['subject'], '</b></a>
'
$txt['by'], ' '$topic['poster']['link'], '
'
, !$topic['is_new'] ? '' '<a href="' $scripturl '?topic=' $topic['topic'] . '.msg' $topic['new_from'] . ';topicseen#new" rel="nofollow"><img src="' $settings['lang_images_url'] . '/new.gif" alt="' $txt['new'] . '" /></a>''
</td>
<td align="right" nowrap="nowrap">
'
$post['time'], '
</td>
</tr>'
;
echo '
</table>'
;
}

?>


 wanwan017 ขอบคุณครับ
« แก้ไขครั้งสุดท้าย: 18 กันยายน 2013, 20:51:52 โดย javo » บันทึกการเข้า

ขอบคุณไทยเสียวครับ
หน้า: [1]   ขึ้นบน
พิมพ์