Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevok: 1 ] 
AutorSpráva
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
Shows topic of last made post on index

Registrovaný: 01.05.05
Príspevky: 13348
Témy: 1496
Bydlisko: Bratislava
Príspevok NapísalOffline : 13.10.2006 9:16

Kód:
##############################################################
## Mod Title:   shows topic of last made post on index
## Mod Version: 1.4.0
## Author:      e-sven <sven@e-sven.net> http://www.e-sven.net
## Description: -adds lasts post topic to each forum on
##               the index page (based on read-access)
##      -word censorship is used
##      -topic title with more then 27 chars are cut off
##      -mouseover info displays the full title
##
## Installation Level:  easy
## Installation Time:   2-5 Minutes
## Files To Edit:       index.php
## Included Files:      index.php (pre-modded)
##############################################################
## History:
##         0.9 not released beta
##         1.0 first working release
##         1.1 optimized db access
##      1.2 made implementation easier
##          (only two replaces have to be made)
##         1.2a just a minor bug (thanks to Acid)
##         1.3 empty forums where not displayed correctly
##         1.4 optimized db-query
##############################################################
## Before Adding This MOD To Your Forum,
## You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------------
#
index.php

#
#-----[ ACTION Find ]-----------------------------------------
#
         $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
            FROM (( " . FORUMS_TABLE . " f
            LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
            LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
            ORDER BY f.cat_id, f.forum_order";
         break;
   }
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
   }

   $forum_data = array();
   while( $row = $db->sql_fetchrow($result) )
   {
      $forum_data[] = $row;
   }

   if ( !($total_forums = count($forum_data)) )
   {
      message_die(GENERAL_MESSAGE, $lang['No_forums']);
   }

   //
   // Obtain a list of topic ids which contain


#
#-----[ REPLACE WITH ]----------------------------------------
#
       $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " .
         " FROM ((( " . FORUMS_TABLE . " f " .
         " LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
         " LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) " .
         " LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) " .
         " ORDER BY f.cat_id, f.forum_order";
      break;
   }
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
   }

   $forum_data = array();
   $topic_last_ary = array();
   $i=0;
   while( $row = $db->sql_fetchrow($result) )
   {
      if (!in_array($row['topic_last_post_id'], $topic_last_ary) || $row['topic_last_post_id']==0) {
         $topic_last_ary[i]=$row['topic_last_post_id'];
         $i++;
         $forum_data[] = $row;
      }
   }
   unset($topic_last_ary);
   if ( !($total_forums = count($forum_data)) )
   {
      message_die(GENERAL_MESSAGE, $lang['No_forums']);
   }
   
   //
   // Filter topic_title not allowed to read
   //
   if ( !($userdata['user_level'] == ADMIN && $userdata['session_logged_in']) ) {
      $auth_read_all = array();
      $auth_read_all=auth(AUTH_READ, AUTH_LIST_ALL, $userdata, $forum_data);
      $auth_data = '';
      for($i=0; $i<count($forum_data); $i++)
      {
         if (!$auth_read_all[$forum_data[$i]['forum_id']]['auth_read']) {
            $forum_data[$i]['topic_title']='';
         }
      }
   }

   //
   // Define censored word matches
   //
   $orig_word = array();
   $replacement_word = array();
   obtain_word_list($orig_word, $replacement_word);

   //
   // Obtain a list of topic ids which contain


#
#-----[ ACTION Find ]-----------------------------------------
#
   if ( $forum_data[$j]['forum_last_post_id'] )
   {
   ...
   }


#
#-----[ ACTION Replace With ]---------------------------------
#
   if ( $forum_data[$j]['forum_last_post_id'] )
   {
      $topic_title = $forum_data[$j]['topic_title'];
      $topic_title2 = $forum_data[$j]['topic_title'];
      
      //
      // Censor topic title
      //
      if ( count($orig_word) )
      {
         $topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
         $topic_title2 = preg_replace($orig_word, $replacement_word, $topic_title2);
      }
                              
      if (strlen($topic_title)>27) {
         $topic_title = substr($topic_title,0,24) . '...';
      }

      $last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
      $last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a><br>';
      $last_post .= $last_post_time . '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '"></a><br>' . $lang['by'] . '&nbsp;';
      $last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
   }

#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------
#







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Odpovedať na tému [ Príspevok: 1 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Last post info

v Redakčné systémy

0

687

14.10.2006 14:54

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. post funkcia a post pole

v PHP, ASP

15

998

28.05.2014 13:21

Kamahl Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mobil Made in China

v Mobilné zariadenia

3

445

03.07.2015 13:25

Smith Wesson Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. CMS Made Simple - Template

v Redakčné systémy

6

794

14.02.2012 23:56

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Topic Starter

v Správy pre vedenie fóra

16

1458

17.05.2013 20:29

mino_85 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Shop Made In China - nakupoval niekto?

v Obchody, reklamácie a právo

6

875

26.09.2017 14:29

t0m@$ Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PREKLAD: Merge Topic SK

v Redakčné systémy

0

2671

20.03.2007 0:05

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PREKLAD: Printer Topic CZ

v Redakčné systémy

0

2522

12.11.2006 16:53

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. NOCTUA fany Made in China vs. Taiwan

v Novinky

2

600

08.08.2017 18:36

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. The topic user is viewing

v Redakčné systémy

0

559

13.10.2006 9:09

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Add this topic to your bookmarks

v Redakčné systémy

0

703

14.10.2006 15:21

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako mam editovat pinned-up topic?

v Správy pre vedenie fóra

4

1459

13.02.2009 21:16

icefire Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Add this topic to your bookmarks

v Redakčné systémy

0

673

13.10.2006 9:28

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Notebook Problémy <mega topic Legoland>

v Notebooky a netbooky

22

1493

26.11.2008 11:11

f4r0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. fopen() - No connection could be made because the target machine actively refused it.

v PHP, ASP

0

375

24.01.2017 13:28

mackooo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Last.fm

v Sieťové a internetové programy

0

1005

09.03.2006 14:59

Pekaboo Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra