Skocz do zawartości


Zdjęcie

[forum] [IPB 2.1.x] Group Name Indicator v3.3


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Livo

Livo

    Początkujący

  • 25 postów

Napisano 31 05 2007 - 11:24

1. Ściągamy "Universal Mod Installer v1.3.2"

2. Wrzucamy katalog "mod_install" do głównego katalogu, w którym znajdują się pliki forum.

3. Ustawiamy CHMOD'y katalogu "mod_install" oraz "images" (który w nim się znajduje) na 755.

4. Ściągamy "Group Name Indicator v3.3"

5. Wrzucamy katalogi "mod_install", "sources" oraz "images" do głównego katalogu, w którym znajdują się pliki forum.

6. W przeglądarce internetowej wpisujemy adres:
www.TWOJADOMENA/mod_install/index.php
zamiast "TWOJADOMENA" wpisz adres swojego forum (np. "muonline.org.pl")

7. Zainstaluj modyfikacje (tego chyba nie trzeba tłumaczyc:))

8. Otwórz plik "index.php".

*znajdz:
'moderators', 'stats', 'languages'

*dodaj za tym:
, 'grouporder_cache'

*zapisz plik.

9. Otwórz plik "forums.php" w katalogu "sourcesaction_public".

*znajdz:
$this->ipsclass->DB->cache_add_query('forums_get_active_users',  array( 'fid' => $this->forum['id'], 'time' => $time ) );
			$this->ipsclass->DB->simple_exec();

*podmień na:
if ( !$this->ipsclass->vars['group_display_active'] )
			{
				$this->ipsclass->DB->cache_add_query('forums_get_active_users',  array( 'fid' => $this->forum['id'], 'time' => $time ) );
				$this->ipsclass->DB->simple_exec();
			}

*znajdz:
//-----------------------------------------
			// FETCH...
			//-----------------------------------------
			
			while ($r = $this->ipsclass->DB->fetch_row() )
			{
				$rows[ $r['running_time'].'.'.$r['id'] ] = $r;
			}
			
			krsort( $rows );

*podmień na:
if ( $this->ipsclass->vars['group_display_active'] )
			{
				$this->ipsclass->DB->build_query( array( 'select'   => 's.member_id, s.member_name, s.member_group, s.id, s.login_type, s.location, s.running_time',
														 'from'	 => array( 'sessions' => 's' ),
														 'where'	=> "s.location_2_type = 'forum' AND (s.location_2_id = {$this->forum['fid']} OR t.forum_id = {$this->forum['fid']}) AND s.running_time > {$time} AND s.in_error = 0",
														 'add_join' => array( 0 => array( 'select' => 't.forum_id',
														 								  'from'   => array( 'topics' => 't' ),
														 								  'where'  => 't.tid=s.location_1_id',
														 								  'type'   => 'left' ),
														 					  1 => array( 'from'   => array( 'groups' => 'g' ),
														 								  'where'  => 'g.g_id=s.member_group',
														 								  'type'   => 'left' ) ),
														 'order'	=> 'g.g_display ASC, s.running_time DESC' ) );
				$this->ipsclass->DB->exec_query();
										
				while ( $r = $this->ipsclass->DB->fetch_row() )
				{
					$rows[] = $r;
				}
			}
			else
			{
				//-----------------------------------------
				// FETCH...
				//-----------------------------------------
				
				while ($r = $this->ipsclass->DB->fetch_row() )
				{
					$rows[ $r['running_time'].'.'.$r['id'] ] = $r;
				}
				
				krsort( $rows );
			}

*zapisz plik.

10. Otwórz plik "topics.php" w katalogu "sourcesaction_public".

*znajdz:
$this->ipsclass->DB->cache_add_query( 'topics_get_active_users',
								  array( 'tid'   => $this->topic['tid'],
										 'time'  => time() - $cut_off,
								)	  );
									
			$this->ipsclass->DB->simple_exec();

*podmień na:
if ( !$this->ipsclass->vars['group_display_active'] )
			{
				$this->ipsclass->DB->cache_add_query( 'topics_get_active_users',
													   array( 'tid'   => $this->topic['tid'],
															  'time'  => time() - $cut_off,
													) );
										
				$this->ipsclass->DB->simple_exec();
			}

*znajdz:
//-----------------------------------------
			// FETCH...
			//-----------------------------------------
			
			while ($r = $this->ipsclass->DB->fetch_row() )
			{
				$rows[ $r['running_time'].'.'.$r['id'] ] = $r;
			}
			
			krsort( $rows );

*podmień na:
if ( $this->ipsclass->vars['group_display_active'] )
			{
				$time = time();
				$this->ipsclass->DB->build_query( array( 'select'   => 's.member_id, s.member_name, s.member_group, s.id, s.login_type, s.location, s.running_time',
														 'from'	 => array( 'sessions' => 's' ),
														 'where'	=> "s.location_1_type = 'topic' AND s.location_1_id = {$this->topic['tid']} AND s.running_time > {$time} - {$cut_off} AND s.in_error=0",
														 'add_join' => array( 1 => array( 'from'   => array( 'groups' => 'g' ),
														 								  'where'  => 'g.g_id=s.member_group',
														 								  'type'   => 'left' ) ),
														 'order'	=> 'g.g_display ASC, s.running_time DESC' ) );
				$this->ipsclass->DB->exec_query();
										
				while ( $r = $this->ipsclass->DB->fetch_row() )
				{
					$rows[] = $r;
				}
			}
			else
			{
				//-----------------------------------------
				// FETCH...
				//-----------------------------------------
				
				while ($r = $this->ipsclass->DB->fetch_row() )
				{
					$rows[ $r['running_time'].'.'.$r['id'] ] = $r;
				}
				
				krsort( $rows );
			}

*zapisz plik.

11. Otwórz plik "func_boardstats.php" w katalogu "sourceslib".

*znajdz:
$this->ipsclass->DB->simple_construct( array( 'select' => 'id, member_id, member_name, login_type, running_time, member_group',
														  'from'   => 'sessions',
														  'where'  => "running_time > $time",
														  //'order'  => "running_time DESC" // Sort in PHP to avoid filesort in SQL
												 )	  );
			
			
			$this->ipsclass->DB->simple_exec();
			
			//-----------------------------------------
			// FETCH...
			//-----------------------------------------
			
			while ( $r = $this->ipsclass->DB->fetch_row() )
			{
				$rows[ $r['running_time'].'.'.$r['id'] ] = $r;
			}
			
			krsort( $rows );

*podmień na:
if ( $this->ipsclass->vars['group_display_active'] )
			{
				$this->ipsclass->DB->build_query( array( 'select'   => 's.id, s.member_id, s.member_name, s.login_type, s.running_time, s.member_group',
														 'from'	 => array( 'sessions' => 's' ),
														 'where'	=> "running_time > {$time}",
														 'add_join' => array( 1 => array( 'from'   => array( 'groups' => 'g' ),
														 								  'where'  => 'g.g_id=s.member_group',
														 								  'type'   => 'left' ) ),
														 'order'	=> 'g.g_display ASC, s.running_time DESC' ) );
				$this->ipsclass->DB->exec_query();
							
				while ( $r = $this->ipsclass->DB->fetch_row() )
				{
					$rows[] = $r;
				}
			}
			else
			{
				$this->ipsclass->DB->simple_construct( array( 'select' => 'id, member_id, member_name, login_type, running_time, member_group',
															'from'   => 'sessions',
															'where'  => "running_time > $time",
															//'order'  => "running_time DESC" // Sort in PHP to avoid filesort in SQL
													)	  );
				
				
				$this->ipsclass->DB->simple_exec();
				
				//-----------------------------------------
				// FETCH...
				//-----------------------------------------
				
				while ( $r = $this->ipsclass->DB->fetch_row() )
				{
					$rows[ $r['running_time'].'.'.$r['id'] ] = $r;
				}
				
				krsort( $rows );
			}

*znajdz:
$active['TOTAL'] = $active['MEMBERS'] + $active['GUESTS'] + $active['ANON'];

*dodaj powyżej:
if ( $this->ipsclass->vars['group_display_board'] )
			{
				$active['NAMES'] .= "<br /><br />";
				$gni = array();
				
				foreach ($this->ipsclass->cache['grouporder_cache'] as $gid => $order)
				{
					$gni[] = "<a href='{$this->ipsclass->base_url}act=members&amp;max_results=30&amp;filter={$this->ipsclass->cache['group_cache'][$gid]['g_id']}&amp;sort_order=asc&amp;sort_key=members_display_name'>{$this->ipsclass->cache['group_cache'][$gid]['prefix']}{$this->ipsclass->cache['group_cache'][$gid]['g_title']}{$this->ipsclass->cache['group_cache'][$gid]['suffix']}</a>";
				}
				
				$active['NAMES'] .= implode( " | ", $gni );
			}

*zapisz plik.

12. Aby przejsc do zarządzania zainstalowanym modem należy zalogowac się do ACP, a następnie przejsc do "Components -> (FSY21) Group Name Indicator".

To wszystko. Modyfikacja jest gotowa do użytku:)
Copyrights: FSY21
Przetłumaczone przez: Livo


  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych