Version 3.0.5

This commit is contained in:
Neo committed 2025-12-19 00:31:03 -08:00
1 parent 19b38c7c74
commit 1d4720f3e2
3755 files changed
+508378 -664541

No files matched your search

+57 -791
View File
@@ -1,807 +1,73 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board
| ========================================
| by Matthew Mecham
| (c) 2001 - 2003 Invision Power Services
| http://www.invisionpower.com
| ========================================
| Web: http://www.invisionboard.com
| Email: matt@invisionpower.com
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > LO-FI VERSION!
| > Script written by Matt Mecham
| > Date started: 11th March 2004
| > Interesting fact: Wrote this while listening to the Stereophonic's
| > 'Performance and Cocktails' CD. That was when they were good.
| > Lo-fi feature took about 1.5 days to write. That's a lot of CD
| > repeating...
+--------------------------------------------------------------------------
*/
/**
* Invision Power Services
* IP.Board v3.0.5
* Redirect old lofi search results to the new IP.Board 3 urls
* Last Updated: $Date: 2009-02-04 15:03:36 -0500 (Wed, 04 Feb 2009) $
*
* @author $Author: bfarber $
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.iinvisionpower.com/community/board/license.html
* @package Invision Power Board
* @link http://www.iinvisionpower.com
* @version $Rev: 3887 $
*
*/
//-----------------------------------------------
// USER CONFIGURABLE ELEMENTS
//-----------------------------------------------
define( 'IPS_PUBLIC_SCRIPT', 'index.php' );
define( 'LOFI_NAME' , 'lofiversion' );
require_once( '../initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
if ( substr(PHP_OS, 0, 3) == 'WIN' OR strstr( php_sapi_name(), 'cgi') OR php_sapi_name() == 'apache2filter' )
/* INIT Registry */
$reg = ipsRegistry::instance();
$reg->init();
/* GET INPUT */
$url = my_getenv('REQUEST_URI') ? my_getenv('REQUEST_URI') : my_getenv('PHP_SELF');
$qs = my_getenv('QUERY_STRING');
$link = 'act=idx';
$id = 0;
$st = 0;
$justKeepMe = str_replace( '.html', '', ( $qs ) ? $qs : str_replace( "/", "", strrchr( $url, "/" ) ) );
/* Got pages? */
if ( strstr( $justKeepMe, "-" ) )
{
define( 'THIS_PATH', str_replace( '\\', '/', dirname( __FILE__ ) ) .'/' );
define( 'ROOT_PATH', str_replace( LOFI_NAME . '/', '', THIS_PATH ) );
define( 'SERVER' , 'WIN' );
list( $_mainBit, $_startBit ) = explode( "-", $justKeepMe );
$justKeepMe = $_mainBit;
$st = intval( $_startBit );
}
else
if ( strstr( $justKeepMe, 't' ) AND is_numeric( substr( $justKeepMe, 1 ) ) )
{
define( 'THIS_PATH', str_replace( '\\', '/', dirname( __FILE__ ) ) .'/' );
define( 'ROOT_PATH', str_replace( LOFI_NAME . '/', '', THIS_PATH ) );
define( 'SERVER' , 'UNX' );
$id = intval( substr( $justKeepMe, 1 ) );
$link = 'showtopic=' . $id;
if ( $st )
{
$link .= '&amp;st=' . $st;
}
}
define( 'KERNEL_PATH', ROOT_PATH.'ips_kernel/' );
//-----------------------------------------------
// NO USER EDITABLE SECTIONS BELOW
//-----------------------------------------------
define ( 'IN_IPB', 1 );
define ( 'IN_DEV', 0 );
error_reporting (E_ERROR | E_WARNING | E_PARSE);
set_magic_quotes_runtime(0);
define ( 'USE_SHUTDOWN', 1 );
//===========================================================================
// DEBUG CLASS
//===========================================================================
class Debug
else if ( strstr( $justKeepMe, 'f' ) AND is_numeric( substr( $justKeepMe, 1 ) ) )
{
function startTimer()
{
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
}
function endTimer()
{
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = round (($endtime - $starttime), 5);
return $totaltime;
}
}
//===========================================================================
// MAIN PROGRAM
//===========================================================================
$INFO = array();
//--------------------------------
// Load our classes
//--------------------------------
require ROOT_PATH . "sources/ipsclass.php";
require ROOT_PATH . "sources/classes/class_display.php";
require ROOT_PATH . "sources/classes/class_session.php";
require ROOT_PATH . "sources/classes/class_forums.php";
require KERNEL_PATH . "class_converge.php";
require ROOT_PATH . "conf_global.php";
# Initiate super-class
$ipsclass = new ipsclass();
$ipsclass->vars = $INFO;
//--------------------------------
// The clocks a' tickin'
//--------------------------------
$Debug = new Debug;
$Debug->startTimer();
//--------------------------------
// Load the DB driver and such
//--------------------------------
$ipsclass->init_db_connection();
//--------------------------------
// INIT other classes
//--------------------------------
$ipsclass->print = new display();
$ipsclass->print->ipsclass =& $ipsclass;
$ipsclass->sess = new session();
$ipsclass->sess->ipsclass =& $ipsclass;
$ipsclass->forums = new forum_functions();
$ipsclass->forums->ipsclass =& $ipsclass;
//--------------------------------
// Set up our vars
//--------------------------------
$ipsclass->parse_incoming();
//--------------------------------
// Set converge
//--------------------------------
$ipsclass->converge = new class_converge( $ipsclass->DB );
//===========================================================================
// Get cache...
//===========================================================================
//--------------------------------
// Start off the cache array
//--------------------------------
$ipsclass->cache_array = array('attachtypes','bbcode', 'multimod','ranks','profilefields','components','banfilters', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats', 'languages');
$ipsclass->init_load_cache( $ipsclass->cache_array );
//--------------------------------
// Initialize the FUNC
//--------------------------------
$ipsclass->initiate_ipsclass();
//--------------------------------
// Register Shutdown Function
//--------------------------------
if ( USE_SHUTDOWN )
{
@chdir( ROOT_PATH );
$ROOT_PATH = getcwd();
$id = intval( substr( $justKeepMe, 1 ) );
register_shutdown_function( array( &$ipsclass, 'my_deconstructor') );
}
//--------------------------------
// The rest :D
//--------------------------------
$ipsclass->member = $ipsclass->sess->authorise();
//--------------------------------
// Load the skin
//--------------------------------
$ipsclass->load_skin();
$ipsclass->vars['display_max_topics'] = 150;
$ipsclass->vars['display_max_posts'] = 50;
$ipsclass->load_language('lang_global');
//--------------------------------
// Initialize the forums
//--------------------------------
$ipsclass->forums->strip_invisible = 1;
$ipsclass->forums->forums_init();
$ipsclass->session_id = "";
$ipsclass->base_url = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?';
//--------------------------------
// Banned?
//--------------------------------
if ( is_array( $ipsclass->cache['banfilters'] ) and count( $ipsclass->cache['banfilters'] ) )
{
foreach ($ipsclass->cache['banfilters'] as $ip)
$link = 'showforum=' . $id;
if ( $st )
{
$ip = str_replace( '\*', '.*', preg_quote($ip, "/") );
if ( preg_match( "/^$ip$/", $ipsclass->input['IP_ADDRESS'] ) )
{
fatal_error( $ipsclass->lang['lofi_noperm'] );
}
}
}
//--------------------------------
// Do we have permission to view
// the board?
//--------------------------------
if ($ipsclass->member['g_view_board'] != 1)
{
$ipsclass->boink_it( $ipsclass->base_url );
}
//--------------------------------
// Is the board offline?
//--------------------------------
if ($ipsclass->vars['board_offline'] == 1)
{
if ($ipsclass->member['g_access_offline'] != 1)
{
$ipsclass->boink_it( $ipsclass->base_url );
$link .= '&amp;st=' . $st;
}
}
//--------------------------------
// Is log in enforced?
//--------------------------------
/* GO GADGET GO */
header("HTTP/1.0 301 Moved Permanently");
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $reg->output->formatUrl( $reg->output->buildUrl( $link, 'public' ) ) );
if ( (! $ipsclass->member['id']) and ($ipsclass->vars['force_login'] == 1) )
{
$ipsclass->boink_it( $ipsclass->base_url );
}
//===========================================================================
// DO STUFF!
//===========================================================================
//--------------------------------
// Require 'skin'
//--------------------------------
require_once( THIS_PATH.'lofi_skin.php' );
//--------------------------------
// Not index.php/ ? Redirect
// We do this so we can use relative
// links...
//--------------------------------
$main_string = $ipsclass->my_getenv('REQUEST_URI') ? $ipsclass->my_getenv('REQUEST_URI') : $ipsclass->my_getenv('PHP_SELF');
if ( SERVER == 'WIN' )
{
$winpath = $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php?';
$main_string = $ipsclass->my_getenv('QUERY_STRING');
}
else
{
if ( strpos( $main_string, '/'.LOFI_NAME.'/index.php/' ) === FALSE )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php/' );
}
if ( strstr( $main_string, "/" ) )
{
$main_string = str_replace( "/", "", strrchr( $main_string, "/" ) );
}
}
$main_string = str_replace( ".html", "", $main_string );
$action = 'index';
$id = 0;
$st = 0;
//--------------------------------
// Pages?
//--------------------------------
if ( strstr( $main_string, "-" ) )
{
list( $main, $start ) = explode( "-", $main_string );
$main_string = $main;
$st = $start;
}
$st = intval($st);
//--------------------------------
// What we doing?
//--------------------------------
if ( preg_match( "#t\d#", $main_string ) )
{
$action = 'topic';
$id = intval( preg_replace( "#t(\d+)#", "\\1", $main_string ) );
}
if ( preg_match( "#f\d#", $main_string ) )
{
$action = 'forum';
$id = intval( preg_replace( "#f(\d+)#", "\\1", $main_string ) );
}
//--------------------------------
// Do it!
//--------------------------------
$output = "";
switch ( $action )
{
case 'forum':
$ipsclass->real_link = $ipsclass->base_url.'showforum='.$id;
$output = get_forum_page($id, $st);
break;
case 'topic':
$ipsclass->real_link = $ipsclass->base_url.'showtopic='.$id;
$output = get_topic_page($id, $st);
break;
default:
$ipsclass->real_link = $ipsclass->base_url;
$output = get_index_page();
break;
}
print_it($output);
//--------------------------------
// Board index
//--------------------------------
function get_index_page()
{
global $ipsclass, $std, $DB, $forums, $LOFISKIN;
return LOFISKIN_forums( _get_forums() );
}
//--------------------------------
// Forums index
//--------------------------------
function get_forum_page($id, $st)
{
global $ipsclass, $std, $DB, $forums, $LOFISKIN, $navarray, $winpath;
$output = "";
if ( $ipsclass->check_perms($ipsclass->forums->forum_by_id[$id]['read_perms']) != TRUE and ( ! $ipsclass->forums->forum_by_id[$id]['permission_showtopic'] ) )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}
//--------------------------------
// Passy?
//--------------------------------
if ( $ipsclass->forums->forum_by_id[$id]['password'] != '' )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}
//--------------------------------
// Nav array...
//--------------------------------
$navarray = _get_nav_array($id);
$ipsclass->title = $ipsclass->forums->forum_by_id[ $id ]['name'];
if ( ! $ipsclass->forums->forum_by_id[ $id ]['sub_can_post'] )
{
//--------------------------------
// Show forums?
//--------------------------------
if ( is_array($ipsclass->forums->forum_cache[ $id ]) and count($ipsclass->forums->forum_cache[ $id ]) )
{
$html_string .= LOFISKIN_forums_entry_first($ipsclass->forums->forum_by_id[ $id ], $winpath);
$depth_guide = "";
foreach( $ipsclass->forums->forum_cache[ $id ] as $forum_data )
{
if( $forum_data['redirect_on'] )
{
continue;
}
$forum_data['total_posts'] = intval( $forum_data['topics'] + $forum_data['posts'] );
$html_string .= LOFISKIN_forums_entry($depth_guide, $forum_data, $winpath );
$html_string = _get_forums_internal( $forum_data['id'], $html_string, " ".$depth_guide );
}
$html_string .= LOFISKIN_forums_entry_end($depth_guide);
}
$output = $html_string;
//--------------------------------
// Return..
//--------------------------------
return LOFISKIN_forums($output);
}
else
{
//--------------------------------
// Show topics...
//--------------------------------
$ipsclass->pages = _get_pages( $ipsclass->forums->forum_by_id[ $id ]['topics'], $ipsclass->vars['display_max_topics'], 'f'.$id );
if ( ! $ipsclass->member['g_other_topics'])
{
$query = " and starter_id=".$ipsclass->member['id'];
}
//--------------------------------
// Topics...
//--------------------------------
$ipsclass->DB->simple_construct( array( 'select' => '*',
'from' => 'topics',
'where' => "approved=1 and forum_id=$id".$query,
'order' => 'pinned desc, last_post desc',
'limit' => array( $st, $ipsclass->vars['display_max_topics'] )
) );
$outer = $ipsclass->DB->simple_exec();
while( $r = $ipsclass->DB->fetch_row($outer) )
{
if ( $r['pinned'] )
{
$r['_prefix'] = $ipsclass->vars['pre_pinned'] ? $ipsclass->vars['pre_pinned'] : $ipsclass->lang['lofi_pinned'];
}
else
{
$r['_prefix'] = "";
}
if( $r['posts'] < 0 )
{
$r['posts'] = 0;
}
if ($r['state'] == 'link')
{
$t_array = explode("&", $r['moved_to']);
$r['tid'] = $t_array[0];
$r['forum_id'] = $t_array[1];
$r['title'] = $r['title'];
$r['posts'] = '--';
$r['_prefix'] = $ipsclass->vars['pre_moved'] ? $ipsclass->vars['pre_moved'] : $ipsclass->lang['lofi_moved'];
}
$r['lang_key'] = ($r['posts'] > 1 OR $r['posts'] == 0) ? 'lofi_replies' : 'lofi_reply';
$output .= LOFISKIN_topics_entry($r, $winpath);
}
//--------------------------------
// Return..
//--------------------------------
if( $output )
{
return LOFISKIN_topics($output);
}
}
}
//--------------------------------
// Topics index
//--------------------------------
function get_topic_page($id, $st)
{
global $ipsclass, $std, $DB, $forums, $LOFISKIN, $navarray, $winpath;
$output = "";
//--------------------------------
// get topic
//--------------------------------
$topic = $ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'topics', 'where' => "tid=".$id." and approved=1" ) );
if ( ! $ipsclass->member['g_other_topics'] AND $topic['starter_id'] != $ipsclass->member['id'] )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}
if ( ! $topic['tid'] )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}
if ( ! $ipsclass->forums->forum_by_id[ $topic['forum_id'] ] )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}
if ( !$ipsclass->forums->forums_check_access( $topic['forum_id'], 0, 'forum', 1 ) )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}
if ( $ipsclass->forums->read_topic_only )
{
$ipsclass->boink_it( $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/index.php' );
}
$ipsclass->pages = _get_pages( $topic['posts'] + 1, $ipsclass->vars['display_max_posts'], 't'.$id );
$ipsclass->title = $topic['title'];
//--------------------------------
// get posts...
//--------------------------------
$ipsclass->DB->build_query( array( 'select' => 'p.*',
'from' => array( 'posts' => 'p' ),
'where' => "p.topic_id={$id} AND p.queued=0",
'add_join' => array( 0 => array( 'select' => 'm.members_display_name, m.mgroup',
'from' => array( 'members' => 'm' ),
'where' => 'm.id=p.author_id',
'type' => 'left' ) ),
'order' => 'pid',
'limit' => array( $st, $ipsclass->vars['display_max_posts'] )
) );
$outer = $ipsclass->DB->simple_exec();
while( $r = $ipsclass->DB->fetch_row($outer) )
{
$r['post_date'] = $ipsclass->get_date( $r['post_date'], 'LONG', 1 );
$r['author_name'] = $r['members_display_name'] ? $r['members_display_name'] : $r['author_name'];
//--------------------------------
// Manage POST / TOPIC tags index.php?act=findpost&pid=415
// <a href='index.php?showtopic=100'>
//--------------------------------
$r['post'] = preg_replace( "#([\"'])index\.{$ipsclass->vars['php_ext']}\?showtopic=#i" , "\\1".$ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?showtopic=' , $r['post'] );
$r['post'] = preg_replace( "#([\"'])index\.{$ipsclass->vars['php_ext']}\?act=findpost&(amp;)?pid=#is", "\\1".$ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?act=findpost&pid=', $r['post'] );
//--------------------------------
// Convert attach links
//--------------------------------
$r['post'] = preg_replace( "#\[attachment=(\d+?)\:(?:[^\]]+?)\]#is", '<a href="'.$ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?act=attach&amp;type=post&amp;id='."\\1".'">'.$ipsclass->lang['lofi_attach'].'</a>', $r['post'] );
$output .= LOFISKIN_posts_entry($r, $winpath);
}
//--------------------------------
// Nav array...
//--------------------------------
$navarray = _get_nav_array( $topic['forum_id'] );
return $output;
}
//--------------------------------
// Print it
//--------------------------------
function print_it($content, $title='')
{
global $ipsclass, $std, $DB, $forums, $LOFISKIN, $navarray, $print;
$fullurl = $ipsclass->vars['board_url'].'/'.LOFI_NAME.'/';
$copyright = "Invision Power Board &copy; 2001-".date("Y")." <a href='http://anonym.to/http://www.invisionpower.com'>Invision Power Services, Inc.</a>";
if ( $ipsclass->vars['ipb_copy_number'] )
{
$copyright = "";
}
//--------------------------------
// Nav
//--------------------------------
$nav = "<a href='./'>".$ipsclass->vars['board_name']."</a>";
if ( count($navarray) )
{
$nav .= " &gt; " . implode( " &gt; ", $navarray );
}
$title = $ipsclass->title ? $ipsclass->vars['board_name'].' &gt; '.$ipsclass->title : $ipsclass->vars['board_name'];
$pages = "";
if ( $ipsclass->pages )
{
$pages = LOFISKIN_pages( $ipsclass->pages );
}
$output = str_replace( '<% TITLE %>' , $title , $LOFISKIN['wrapper'] );
$output = str_replace( '<% CONTENT %>' , $content , $output );
$output = str_replace( '<% FULL_URL %>' , $fullurl , $output );
$output = str_replace( '<% COPYRIGHT %>', $copyright, $output );
$output = str_replace( '<% NAV %>' , $nav , $output );
$output = str_replace( '<% LINK %>' , $ipsclass->real_link, $output );
$output = str_replace( '<% LARGE_TITLE %>', $ipsclass->title ? $ipsclass->title : $ipsclass->vars['board_name'], $output );
$output = str_replace( '<% PAGES %>' , $pages, $output );
$output = str_replace( "<% CHARSET %>" , $ipsclass->vars['gb_char_set'], $output);
//-----------------------------------------
// Macros
//-----------------------------------------
$ipsclass->print->_unpack_macros();
if ( is_array( $ipsclass->print->macros ) )
{
foreach( $ipsclass->print->macros as $row )
{
if ( $row['macro_value'] != "" )
{
$output = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $output );
}
}
}
$output = preg_replace( "#([^/])style_images/(<\#IMG_DIR\#>|".preg_quote($ipsclass->skin['_imagedir'], '/').")#is", "\\1".$ipsclass->vars['board_url']."/style_images/\\2", $output );
$output = preg_replace( "#([\"'])style_emoticons/#is", "\\1".$ipsclass->vars['board_url']."/style_emoticons/", $output );
$output = str_replace( "<#IMG_DIR#>", $ipsclass->skin['_imagedir'], $output );
$output = str_replace( "<#EMO_DIR#>", $ipsclass->skin['_emodir'] , $output );
print $output;
}
//--------------------------------
// Recursively get forums
//--------------------------------
function _get_forums()
{
global $ipsclass, $forums, $LOFISKIN, $winpath;
foreach( $ipsclass->forums->forum_cache['root'] as $forum_data )
{
if ( is_array($ipsclass->forums->forum_cache[ $forum_data['id'] ]) and count($ipsclass->forums->forum_cache[ $forum_data['id'] ]) )
{
$html_string .= LOFISKIN_forums_entry_first($forum_data, $winpath);
$depth_guide = "";
if ( is_array( $ipsclass->forums->forum_cache[ $forum_data['id'] ] ) )
{
foreach( $ipsclass->forums->forum_cache[ $forum_data['id'] ] as $forum_data )
{
if ( ! $forum_data['redirect_on'] )
{
$forum_data['total_posts'] = intval( $forum_data['topics'] + $forum_data['posts'] );
$html_string .= LOFISKIN_forums_entry($depth_guide, $forum_data, $winpath );
$html_string = _get_forums_internal( $forum_data['id'], $html_string, " ".$depth_guide );
}
}
}
$html_string .= LOFISKIN_forums_entry_end($depth_guide);
}
}
return $html_string;
}
function _get_forums_internal($root_id, $html_string="", $depth_guide="")
{
global $ipsclass, $forums, $LOFISKIN, $winpath;
if ( is_array( $ipsclass->forums->forum_cache[ $root_id ] ) )
{
$html_string .= LOFISKIN_forums_entry_start($depth_guide);
foreach( $ipsclass->forums->forum_cache[ $root_id ] as $forum_data )
{
if ( ! $forum_data['redirect_on'] )
{
$forum_data['total_posts'] = intval( $forum_data['topics'] + $forum_data['posts'] );
$html_string .= LOFISKIN_forums_entry($depth_guide, $forum_data, $winpath );
$html_string = _get_forums_internal( $forum_data['id'], $html_string, " ".$depth_guide );
}
}
$html_string .= LOFISKIN_forums_entry_end($depth_guide);
}
return $html_string;
}
function _get_nav_array($id)
{
global $ipsclass, $forums, $LOFISKIN, $winpath;
$navarray[] = "<a href='{$winpath}f{$id}.html'>{$ipsclass->forums->forum_by_id[$id]['name']}</a>";
$ids = $ipsclass->forums->forums_get_parents( $id );
if ( is_array($ids) and count($ids) )
{
foreach( $ids as $id )
{
$data = $ipsclass->forums->forum_by_id[$id];
$navarray[] = "<a href='{$winpath}f{$data['id']}.html'>{$data['name']}</a>";
}
}
return array_reverse($navarray);
}
function _get_pages( $total, $pp, $id )
{
global $ipsclass, $forums, $LOFISKIN, $navarray, $winpath;
$page_array = array();
//-----------------------------------------------
// Get the number of pages
//-----------------------------------------------
$pages = ceil( $total / $pp );
$pages = $pages ? $pages : 1;
if ( $pages < 2 )
{
return "";
}
//-----------------------------------------------
// Loppy loo
//-----------------------------------------------
if ($pages > 1)
{
for( $i = 0; $i <= $pages - 1; ++$i )
{
$RealNo = $i * $pp;
$PageNo = $i+1;
$page_array[] = "<a href='{$winpath}{$id}-{$RealNo}.html'>{$PageNo}</a>";
}
}
return implode( ", ", $page_array );
}
//+-------------------------------------------------
// GLOBAL ROUTINES
//+-------------------------------------------------
function fatal_error($message="", $help="")
{
echo("$message<br><br>$help");
exit;
}
?>
exit();
-133
View File
@@ -1,133 +0,0 @@
<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board
| =============================================
| by Matthew Mecham
| (c) 2001 - 2006 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
| > $Date: 2006-03-23 07:34:25 -0500 (Thu, 23 Mar 2006) $
| > $Revision: 177 $
| > $Author: brandon $
+--------------------------------------------------------------------------
*/
global $ipsclass;
$LOFISKIN['wrapper'] = <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset={$ipsclass->vars['gb_char_set']}" />
<meta name="robots" content="index,follow" />
<link rel="stylesheet" rev="stylesheet" href="<% FULL_URL %>lofiscreen.css" media="screen" />
<link rel="stylesheet" rev="stylesheet" href="<% FULL_URL %>lofihandheld.css" media="handheld" />
<link rel="stylesheet" rev="stylesheet" href="<% FULL_URL %>lofiprint.css" media="print" />
<title><% TITLE %></title>
</head>
<body>
<div id='ipbwrapper'>
<div class='ipbnavsmall'>
<a href='{$ipsclass->base_url}act=Help'>{$ipsclass->lang['tb_help']}</a> -
<a href='{$ipsclass->base_url}act=Search'>{$ipsclass->lang['tb_search']}</a> -
<a href='{$ipsclass->base_url}act=Members'>{$ipsclass->lang['tb_mlist']}</a> -
<a href='{$ipsclass->base_url}act=calendar'>{$ipsclass->lang['tb_calendar']}</a>
</div>
<div id='largetext'>{$ipsclass->lang['lofi_fullversion']}<a href='<% LINK %>'><% LARGE_TITLE %></a></div>
<div class='ipbnav'><% NAV %></div>
<% PAGES %>
<div id='ipbcontent'>
<% CONTENT %>
</div>
<div class='smalltext'>{$ipsclass->lang['lofi_maintext']}<a href='<% LINK %>'>{$ipsclass->lang['lofi_clickhere']}</a>.</div>
</div>
<div id='ipbcopyright'><% COPYRIGHT %></div>
</body>
</html>
EOF;
function LOFISKIN_forums($forums="") {
return <<<EOF
<div class='forumwrap'>
<ul>
$forums
</ul>
</div>
EOF;
}
function LOFISKIN_forums_entry($depth_guide, $forum_data, $win_path="" ) {
global $ipsclass;
return <<<EOF
\n{$depth_guide}<li><a href='{$win_path}f{$forum_data['id']}.html'>{$forum_data['name']}</a> <span class='desc'>({$forum_data['total_posts']} {$ipsclass->lang['lofi_posts']})</span></li>
EOF;
}
function LOFISKIN_forums_entry_end($depth_guide) {
return <<<EOF
\n{$depth_guide}</ul></li>
EOF;
}
function LOFISKIN_forums_entry_start($depth_guide) {
return <<<EOF
\n{$depth_guide}<li><ul>
EOF;
}
function LOFISKIN_forums_entry_first($forum_data, $win_path="") {
return <<<EOF
\n<li><strong><a href='{$win_path}f{$forum_data['id']}.html'>{$forum_data['name']}</a></strong></li>\n<ul>
EOF;
}
function LOFISKIN_topics($topics="") {
return <<<EOF
<div class='topicwrap'>
<ol>
$topics
</ol>
</div>
EOF;
}
function LOFISKIN_topics_entry($r, $win_path="") {
global $ipsclass;
return <<<EOF
\n<li>{$r['_prefix']}<a href='{$win_path}t{$r['tid']}.html'>{$r['title']}</a> <span class='desc'>({$r['posts']} {$ipsclass->lang[$r['lang_key']]})</span></li>
EOF;
}
function LOFISKIN_posts_entry($r) {
return <<<EOF
<div class='postwrapper'>
<div class='posttopbar'>
<div class='postname'>{$r['author_name']}</div>
<div class='postdate'>{$r['post_date']}</div>
</div>
<div class='postcontent'>
{$r['post']}
</div>
</div>
EOF;
}
function LOFISKIN_pages($pages="") {
global $ipsclass;
return <<<EOF
<div class='ipbpagespan'>
{$ipsclass->lang['lofi_please']} $pages
</div>
EOF;
}
?>
-8
View File
@@ -1,8 +0,0 @@
/*=============================================*/
/* LO-FI SCREEN CSS FILE */
/* (c) 2004 Invision Power Services, Inc. */
/* This CSS by: Matthew Mecham */
/*=============================================*/
@import url(lofiscreen.css);
-8
View File
@@ -1,8 +0,0 @@
/*=============================================*/
/* LO-FI SCREEN CSS FILE */
/* (c) 2004 Invision Power Services, Inc. */
/* This CSS by: Matthew Mecham */
/*=============================================*/
@import url(lofiscreen.css);
-208
View File
@@ -1,208 +0,0 @@
/*=============================================*/
/* LO-FI SCREEN CSS FILE */
/* (c) 2004 Invision Power Services, Inc. */
/* This CSS by: Matthew Mecham */
/*=============================================*/
BODY
{
background-color: #FFF;
color: #000;
font-family: Verdana, Tahoma, Arial, "Trebuchet MS", Sans-Serif, Georgia, Courier, "Times New Roman", Serif;
font-size: 1em;
margin: 20px;
padding: 0px;
}
.ipbnav
{
font-size: 11px;
font-weight: bold;
border:1px solid gray;
padding:10px;
}
.ipbpagespan
{
font-size: 11px;
font-weight: bold;
border:1px solid gray;
padding:10px;
margin-top: 10px;
}
.ipbnavsmall
{
font-size: 10px;
font-weight: bold;
border:1px dotted lightgray;
padding:8px 8px 8px 8px;
text-align:center;
width:350px;
float:right;
}
#largetext
{
font-size: 1.0em;
font-weight: bold;
margin-bottom: 10px;
padding-top: 3px;
width:auto;
}
#ipbwrapper
{
}
#ipbcopyright
{
margin-top: 10px;
font-size: 10px;
text-align:center;
}
#ipbcontent
{
padding: 10px;
margin-top:10px;
border:1px solid gray;
}
.topicwrap,
.forumwrap
{
line-height:130%;
}
.topicwrap ul,
.forumwrap ul
{
list-style-type: none;
}
.topicwrap li,
.forumwrap li
{
font-size: 1em;
}
.forumwrap strong
{
font-size: 1.1em;
font-weight: bold;
}
.desc
{
color: gray;
font-size: 10px;
}
.smalltext
{
color: gray;
font-size: 10px;
text-align:center;
padding:10px;
}
/*---------------------------------------*/
/* Post view */
/*---------------------------------------*/
.postwrapper
{
border:1px solid #E6E3E4;
padding:1px;
margin-bottom: 15px;
}
.posttopbar
{
background-color: #E6E3E4;
padding: 6px;
}
.postname
{
font-weight: bold;
font-size: 0.8em;
width: auto;
float:left;
}
.postdate
{
width:auto;
font-size: 0.8em;
color: gray;
text-align:right;
}
.postcontent
{
padding: 6px;
font-size: 0.8em;
}
/*---------------------------------------*/
/* NEW QUOTE / CODE WRAPPERS */
/*---------------------------------------*/
.quotetop
{
color: #000;
margin: 8px auto 0px auto;
font-weight:bold;
font-size:10px;
padding: 8px;
background-color:#E4EAF2;
border-left: 4px solid #8394B2;
border-top: 1px dotted #000;
border-right: 1px dotted #000;
}
.quotemain
{
color: #465584;
background-color: #FAFCFE;
border-left: 4px solid #8394B2;
border-right: 1px dotted #000;
/*border-top: 1px dotted #000;*/
border-bottom: 1px dotted #000;
padding: 4px;
margin: 0px auto 8px auto;
}
.codetop,
.sqltop,
.htmltop
{
width:98%;
color: #000;
margin: 0px auto 0px auto;
font-weight:bold;
padding: 3px;
background-color:#FDDBCC;
background-repeat: no-repeat;
}
.codemain,
.sqlmain,
.htmlmain
{
font-family: Courier, "Courier New", Verdana, Arial;
color: #465584;
background-color: #FAFCFE;
border: 1px dotted #000;
padding: 2px;
width:98%;
margin: 0px auto 0px auto;
/*overflow: auto;
height: 200px;*/
}
+139
View File
@@ -0,0 +1,139 @@
偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽眷眷偽偽偽偽偽偽偽偽眷眷偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽眷眷詗詗眷眷偽偽偽偽眷眷詗詗眷眷偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽眷眷偽偽偽偽偽偽偽偽眷眷偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽眷眷偽偽偽偽偽偽偽偽偽偽偽偽眷眷偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽眷眷偽偽眷眷偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽
偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷詗詗眷眷 眷眷偽偽偽偽偽偽偽偽眷眷 眷眷詗詗眷眷偽偽
偽偽偽偽眷眷詗詗眷眷 眷眷詗詗眷眷偽偽偽偽眷眷詗詗眷眷 眷眷詗詗眷眷偽偽偽偽
偽偽眷眷 眷眷 眷眷 眷眷 眷眷眷眷 眷眷 眷眷 眷眷 眷眷偽偽
� 偽
� 習詗詗葀� 假葾詗葀� 假葾詒盒 假葾詒盒 假葾詒盒 假羞詗詗詗詗詗蛢盒 假� 偽
� 假詗盒 假蛢� 假詗盒 假詗盒 假詗盒 假詗蛢� 假詗詗蛢� 偽
偽 假詗蛢� 假蛢� 偽 假詗盒 假詗盒 假詗盒 假詗蛢� 假詗蛢� 偽
偽 假蛢假詗盒 假蛢� 偽 假詗盒 假詗盒 假詗盒 假詗蛢� 假詗盒 偽
偽 假蛢偽羞蛢� 假蛢� 偽 假詗盒 假詗盒 假詗盒 假詗蛢� 假詗盒 偽�
偽 假蛢� 假詗盒 假蛢� 偽 假詗盒 假詗盒 假詗盒 假詗詗盒 偽偽
偽 假蛢� 假詗盒假蛢� 偽 假詗蛢� 假詗詗盒 假詗蛢� 假詗詗蛢� 偽偽偽偽
偽 假蛢� � 假詗盒羞盒 偽 假詗蛢偽羞詗詗蛢偽羞詗盒 假詗詗蛢� 偽偽
偽 假蛢� 偽 假詗羞蛢� 偽 假詗詗詗盒 假詗詗詗盒 假詗詗蛢� 偽�
偽 假蛢� 偽� 假詗蛢� 偽� 假詗詗盒 假詗詗盒 假詗盒 假詗詗盒 偽
偽 假蛢� 偽偽� 假詗盒 偽� 假詗蛢� 偽偽 假詗蛢� 假詗蛢� 假詗詗盒 偽
� 假蛢� 偽偽偽 假詗盒 偽� 假詗盒 偽偽偽 假詗盒 假詗蛢� 假詗詗盒 偽
� 假詗盒 偽偽 假詗盒 偽偽 假蛢� 偽偽偽 假蛢� � 假詗蛢� 假詗詗盒 偽�
� 假詗蛢� 偽偽 假詗蛢� 偽偽 假� 偽偽偽偽 假� 偽 假眷詗詗詗詗蛢眷� 偽偽偽
� 偽偽 偽偽� 偽偽偽偽偽 偽偽� 偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽眷眷偽偽眷眷偽偽偽偽偽偽眷眷偽偽眷眷眷眷偽偽眷眷偽偽偽偽偽偽眷眷偽偽眷眷偽偽
偽偽偽偽眷眷詗詗眷眷偽偽眷眷詗詗眷眷 眷眷詗詗眷眷偽偽眷眷詗詗眷眷偽偽偽偽
偽偽眷眷詗詗眷眷 眷眷 眷眷 眷眷 眷眷 眷眷詗詗眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 Invision Power Board v. 3.0.5 Russian 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 Author: Invision Power 眷眷偽偽
偽偽偽偽眷眷 Site: http://www.invisionpower.com/ 眷眷偽偽偽偽
偽偽眷眷 Site: http://www.ibresource.ru/ 眷眷偽偽
偽偽偽偽眷眷 Demo: 眷眷偽偽偽偽
偽偽眷眷 http://forums.invisionpower.com/ 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽眷眷偽偽眷眷 眷眷 眷眷 眷眷 眷眷偽偽眷眷偽偽
偽偽偽偽偽偽偽偽眷眷 眷眷詗詗眷眷 眷眷詗詗眷眷 眷眷偽偽偽偽偽偽偽偽
偽偽眷眷偽偽眷眷 眷眷 眷眷 眷眷 眷眷偽偽眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 Supplier: Maybe 眷眷偽偽
偽偽偽偽眷眷 Nullifier: Maybe 眷眷偽偽偽偽
偽偽眷眷 Testers: $ID 眷眷偽偽
偽偽偽偽眷眷 Thanks: "Anonymous" 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽偽偽偽偽眷眷 眷眷 眷眷 眷眷 眷眷 眷眷偽偽偽偽偽偽
偽偽偽偽偽偽偽偽眷眷詗詗眷眷 眷眷詗詗眷眷偽偽偽偽偽偽偽偽
偽偽偽偽偽偽眷眷 眷眷 眷眷 眷眷 眷眷 眷眷偽偽偽偽偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 Release Date: xx.xx.2009 眷眷偽偽偽偽
偽偽眷眷 Language: PHP 眷眷偽偽
偽偽偽偽眷眷 Type: Forum 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷詗詗眷眷 眷眷詗詗眷眷偽偽
偽偽偽偽眷眷詗詗眷眷 眷眷 眷眷 眷眷 眷眷 眷眷詗詗眷眷偽偽偽偽
偽偽眷眷偽偽眷眷偽偽眷眷偽偽眷眷 眷眷偽偽眷眷偽偽眷眷偽偽眷眷偽偽
偽偽偽偽眷眷偽偽偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽偽偽眷眷偽偽偽偽
偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽
偽偽偽偽偽偽眷眷 㴓兕�言: 眷眷偽偽偽偽偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 僐摽�� ╞颬剁 �洛�漭恢陋ㄝ 銈飹� IPB. 𨉼�- 眷眷偽偽
偽偽偽偽眷眷 咧�璅� 嶀市�� 鄍摦颬悔 ibresource.ru 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽偽偽偽偽眷眷偽偽眷眷 眷眷偽偽眷眷偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽眷眷偽偽眷眷 眷眷偽偽眷眷偽偽偽偽偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽眷眷 Installation: 眷眷偽偽
偽偽偽偽眷眷 1) Upload files from 'upload' folder 眷眷偽偽偽偽
偽偽眷眷 2) Run setup ;)(just put home adress in browser) 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷偽偽眷眷 眷眷 眷眷 眷眷偽偽眷眷偽偽
偽偽偽偽偽偽偽偽眷眷詗詗眷眷 眷眷 眷眷 眷眷詗詗眷眷偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽眷眷 眷眷詗詗眷眷眷眷詗詗眷眷 眷眷偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽偽偽偽偽
偽偽眷眷偽偽眷眷 眷眷偽偽眷眷偽偽
偽偽偽偽眷眷 NWS - Nulled Warez Scripts 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 URLs: 眷眷偽偽偽偽
偽偽眷眷 http://nulled.cc/ 眷眷偽偽
偽偽偽偽眷眷 http://nulled.ws/ 眷眷偽偽偽偽
偽偽眷眷 http://nulled.in/ 眷眷偽偽
偽偽偽偽眷眷 http://nulled.se/ 眷眷偽偽偽偽
偽偽眷眷 眷眷偽偽
偽偽偽偽眷眷 Reserve blog: 眷眷偽偽偽偽
偽偽眷眷 http://nulledws.blogspot.com/ 眷眷偽偽
偽偽偽偽眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷 眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽眷眷 眷眷眷眷 眷眷偽偽
偽偽偽偽眷眷 眷眷 眷眷 眷眷偽偽偽偽
偽偽眷眷詗詗眷眷 眷眷 眷眷 眷眷詗詗眷眷偽偽
偽偽偽偽眷眷偽偽眷眷 眷眷 眷眷眷眷 眷眷 眷眷偽偽眷眷偽偽偽偽
偽偽偽偽偽偽偽偽偽偽眷眷 眷眷詗詗詗詗眷眷 眷眷偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽眷眷偽偽眷眷偽偽偽偽偽偽眷眷 眷眷偽偽偽偽偽偽眷眷偽偽眷眷偽偽偽偽
偽偽詗詗 詗詗 詗詗偽偽詗詗 詗詗偽偽詗詗 詗詗 詗詗偽偽
偽偽偽偽� 盒偽假 � 盒假 盒假 � 盒偽假 盒偽偽偽�
偽偽偽偽詗詗偽偽詗詗 詗詗 詗詗 詗詗 詗詗 詗詗 詗詗偽偽詗詗偽偽偽偽
偽偽偽偽偽偽盒偽偽偽� � 盒偽假 盒偽假 � 盒偽偽偽盒偽偽偽偽偽�
偽偽偽偽偽偽詗詗偽偽詗詗 詗詗偽偽詗 詗偽偽詗詗 詗詗偽偽詗詗偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽假偽偽� 盒偽偽� 盒偽偽� 盒偽假偽偽偽偽偽偽偽偽偽�
偽偽偽偽偽偽偽偽詗詗偽偽詗詗 詗詗偽詗詗偽詗詗 詗詗偽偽詗詗偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽盒偽偽偽� 盒偽偽偽偽偽偽偽假 盒偽偽偽盒偽偽偽偽偽偽偽偽偽�
偽偽偽偽偽偽偽偽偽偽詗詗偽偽詗詗偽偽偽偽偽偽偽偽詗詗偽偽詗詗偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽假偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽羞蛢偽偽偽偽偽偽偽偽偽偽偽偽羞蛢偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽唱菾偽偽偽偽偽偽偽偽偽偽偽偽唱菾偽偽偽偽偽偽偽偽偽偽偽偽
偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽豺ascii by Zeratul]偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽�
偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽偽