Display recent topics instead of recent posts in SMF Info Center

banned8 · 12 · 6297

banned8

  • Jr. Member
  • **
    • Posts: 132
    • Gender:Male
Εμείς οι τρεις μοντερέιτορ μείναμε εδώ πάντως και τα λέμε μεταξύ μας και γεμίζουμε τη βιτρίνα με τις αμπλαουμπλιές μας και η καλή η Αλεξάνδρα έχει πάει και βγάζει το μεροκάματο. Λοιπόν, πρόταση: η βιτρίνα, εκεί που αναφέρονται οι πιο τελευταίες καταχωρίσεις, να αναφέρει μόνο το τελευταίο μήνυμα από ένα νήμα. Αν δηλαδή ένα νήμα έχει τις 35 τελευταίες καταχωρίσεις επειδή κάποιους τους έπιασε άκρατη φλυαρία, να μην εκτοπίζονται όλα τα άλλα νήματα από τη βιτρίνα. Είναι τεχνικά εφικτό, μάστορα; Αν καταλαβαίνεις τι είναι αυτό που ζητάω...
« Last Edit: 07 Jan, 2006, 02:02:27 by spiros »


spiros

  • Administrator
  • Hero Member
  • *****
    • Posts: 824272
    • Gender:Male
  • point d’amour
Λοιπόν, πρόταση: η βιτρίνα, εκεί που αναφέρονται οι πιο τελευταίες καταχωρίσεις, να αναφέρει μόνο το τελευταίο μήνυμα από ένα νήμα.

Γίνεται, αυτό έχω κάνει για τα τελευταία θέματα που μπαίνουν στην αρχική σελίδα. Τώρα βέβαια στην αρχική σελίδα η όλη ιστορία έχει γίνει με SSI οπότε διαφορετική η μεθοδολογία.



banned8

  • Jr. Member
  • **
    • Posts: 132
    • Gender:Male
Εγώ πάντως θα ήθελα να κάνεις κάτι και γι' αυτή τη σελίδα. https://www.translatum.gr/forum/index.php


spiros

  • Administrator
  • Hero Member
  • *****
    • Posts: 824272
    • Gender:Male
  • point d’amour
Μέχρι να κάνω κάτι κοίτα και εδώ που έχει τις τελευταίες 30 θεματικές ενότητες...

https://www.translatum.gr/news/index.php

Εγώ πάντως θα ήθελα να κάνεις κάτι και γι' αυτή τη σελίδα. https://www.translatum.gr/forum/index.php
« Last Edit: 17 Nov, 2005, 18:15:13 by spiros »



banned8

  • Jr. Member
  • **
    • Posts: 132
    • Gender:Male
Μέχρι να κάνω κάτι κοίτα και εδώ που έχει τις τελευταίες 30 θεματικές ενότητες...

https://www.translatum.gr/news/index.php


ΟΚ, καλύπτομαι από αυτή τη σελίδα. Ευχαριστώ!


wings

  • Global Moderator
  • Hero Member
  • *****
    • Posts: 72550
    • Gender:Female
  • Vicky Papaprodromou
Mπράβο, Σπύρο. Πολύ καλή δουλειά!
Ο λόγος είναι μεγάλη ανάγκη της ψυχής. (Γιώργος Ιωάννου)


spiros

  • Administrator
  • Hero Member
  • *****
    • Posts: 824272
    • Gender:Male
  • point d’amour
Quote
Εγώ πάντως θα ήθελα να κάνεις κάτι και γι' αυτή τη σελίδα. https://www.translatum.gr/forum/index.php

Το έκανα και για αυτή τη σελίδα. Enjoy!

How was this done?

In file Sources/Recent.php you need to change the function getLastPosts($showlatestcount)

Find

Code: [Select]
function getLastPosts($showlatestcount)
{
global $scripturl, $txt, $db_prefix, $user_info, $modSettings;

// Find all the posts.  Newer ones will have higher IDs.  (assuming the last 4 * number are accessable...)
$request = db_query("
SELECT
m.posterTime, m.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG,
IFNULL(mem.realName, m.posterName) AS posterName, t.numReplies,
t.ID_BOARD, t.ID_FIRST_MSG, b.name AS bName
FROM {$db_prefix}messages AS m, {$db_prefix}topics AS t, {$db_prefix}boards AS b
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
WHERE m.ID_MSG >= " . ($modSettings['maxMsgID'] - 4 * $showlatestcount) . "
AND t.ID_TOPIC = m.ID_TOPIC
AND b.ID_BOARD = t.ID_BOARD
AND $user_info[query_see_board]
ORDER BY m.ID_MSG DESC
LIMIT $showlatestcount", __FILE__, __LINE__);
$posts = array();
while ($row = mysql_fetch_assoc($request))
{
// Censor the subject.
censorText($row['subject']);

// Build the array.
$posts[] = array(
'board' => array(
'id' => $row['ID_BOARD'],
'name' => $row['bName'],
'href' => $scripturl . '?board=' . $row['ID_BOARD'] . '.0',
'link' => '<a href="' . $scripturl . '?board=' . $row['ID_BOARD'] . '.0">' . $row['bName'] . '</a>'
),
'topic' => $row['ID_TOPIC'],
'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']) ? $row['posterName'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>'
),
'subject' => $row['subject'],
'short_subject' => strlen(un_htmlspecialchars($row['subject'])) > 25 ? htmlspecialchars(substr(un_htmlspecialchars($row['subject']), 0, 22) . '...') : $row['subject'],
'time' => timeformat($row['posterTime']),
'timestamp' => $row['posterTime'],
'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.new;topicseen#new',
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . ';topicseen#msg' . $row['ID_MSG'] . '">' . $row['subject'] . '</a>'
);
}
mysql_free_result($request);

return $posts;
}


Replace by:

Code: [Select]
function getLastPosts($showlatestcount)
{
global $scripturl, $txt, $db_prefix, $user_info, $modSettings;


$request = db_query("
SELECT
m.posterTime, m.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG,
IFNULL(mem.realName, m.posterName) AS posterName, t.numReplies,
t.ID_BOARD, t.ID_FIRST_MSG, b.name AS bName
FROM {$db_prefix}messages AS m, {$db_prefix}topics AS t, {$db_prefix}boards AS b, {$db_prefix}categories AS c
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
WHERE m.ID_MSG >= " . ($modSettings['maxMsgID'] - 4 * $showlatestcount) . "
AND m.ID_MSG = t.ID_LAST_MSG
AND b.ID_BOARD=t.ID_BOARD
AND c.ID_CAT=b.ID_CAT
AND $user_info[query_see_board]
ORDER BY m.ID_MSG DESC
LIMIT $showlatestcount", __FILE__, __LINE__);
$posts = array();
while ($row = mysql_fetch_assoc($request))
{
// Censor the subject.
censorText($row['subject']);

// Build the array.
$posts[] = array(
'board' => array(
'id' => $row['ID_BOARD'],
'name' => $row['bName'],
'href' => $scripturl . '?board=' . $row['ID_BOARD'] . '.0',
'link' => '<a href="' . $scripturl . '?board=' . $row['ID_BOARD'] . '.0">' . $row['bName'] . '</a>'
),
'topic' => $row['ID_TOPIC'],
'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']) ? $row['posterName'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['posterName'] . '</a>'
),
'subject' => $row['subject'],
'short_subject' => strlen(un_htmlspecialchars($row['subject'])) > 25 ? htmlspecialchars(substr(un_htmlspecialchars($row['subject']), 0, 22) . '...') : $row['subject'],
'time' => timeformat($row['posterTime']),
'link' => '<a href="' . $scripturl . '?topic=' . $row['ID_TOPIC'] . '.' . $row['numReplies'] . ';topicseen#msg' . $row['ID_MSG'] . '">' . $row['subject'] . '</a>',
'href' => $scripturl . '?topic=' . $row['ID_TOPIC'] . '.new;topicseen#new'
);
}
mysql_free_result($request);

return $posts;
}
« Last Edit: 17 Nov, 2005, 21:02:53 by spiros »


banned8

  • Jr. Member
  • **
    • Posts: 132
    • Gender:Male
Μπράβο, μεγάλε Σπύρο!
« Last Edit: 17 Nov, 2005, 18:28:44 by spiros »


spiros

  • Administrator
  • Hero Member
  • *****
    • Posts: 824272
    • Gender:Male
  • point d’amour
Μπράβο σε εσένα μεγάλε Νίκο!

Σε όλα είσαι τέλειος, είναι πράγματι δύσκολο να σου βρει κανείς ψεγάδι.

Το μόνο πράγμα που ίσως δεν μάθεις ποτέ είναι να κάνεις μικρά σε μέγεθος αρχεία εικόνας (για δες τώρα...)!


banned8

  • Jr. Member
  • **
    • Posts: 132
    • Gender:Male
Το 'χω αφήσει μπροστά μπροστά στα πολλά και εμφανέστατα κουσούρια μου, για να 'χεις να λες. Αλλά μου χάλασες το τζιφάκι μου και του 'βαλες μια αντιαισθητική, ακαλαίσθητη, αντιπαθητική (unprepossessing?) άσπρη μπορντούρα.


spiros

  • Administrator
  • Hero Member
  • *****
    • Posts: 824272
    • Gender:Male
  • point d’amour

banned8

  • Jr. Member
  • **
    • Posts: 132
    • Gender:Male
Καλά, γηράσκω (gamoto) αεί διδασκόμενος.


 

Search Tools