HEX
Server: Apache/2.4.59 (Debian)
System: Linux skycube.cz 4.19.0-25-amd64 #1 SMP Debian 4.19.289-2 (2023-08-08) x86_64
User: ilya (534)
PHP: 7.3.31-1~deb10u7
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/ilya/data/www/irkboard.ru/cache/skin_cache/cacheid_1/skin_global.php
<?php
/*--------------------------------------------------*/
/* FILE GENERATED BY INVISION POWER BOARD 3         */
/* CACHE FILE: Skin set id: 1               */
/* CACHE FILE: Generated: Sun, 06 Sep 2009 21:41:13 GMT */
/* DO NOT EDIT DIRECTLY - THE CHANGES WILL NOT BE   */
/* WRITTEN TO THE DATABASE AUTOMATICALLY            */
/*--------------------------------------------------*/

class skin_global_1 {

/**
* Construct
*/
function __construct( ipsRegistry $registry )
{
	/* Make object */
	$this->registry   =  $registry;
	$this->DB         =  $this->registry->DB();
	$this->settings   =& $this->registry->fetchSettings();
	$this->request    =& $this->registry->fetchRequest();
	$this->lang       =  $this->registry->getClass('class_localization');
	$this->member     =  $this->registry->member();
	$this->memberData =& $this->registry->member()->fetchMemberData();
	$this->cache      =  $this->registry->cache();
	$this->caches     =& $this->registry->cache()->fetchCaches();
}
	/* -- defaultHeader --*/
function defaultHeader() {
$IPBHTML = "";
$IPBHTML .= "<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "act=idx", 'public','' ), "false", "" ) . "' title='{$this->lang->words['go_home']}' rel=\"home\" accesskey='1'><img src='" . $this->registry->getClass('output')->getReplacement("logo_img") . "' alt='{$this->lang->words['logo']}' /></a>";
return $IPBHTML;
}

/* -- forum_jump --*/
function forum_jump($html) {
$IPBHTML = "";
$IPBHTML .= "<form id='forum_jump' action='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "", 'public','' ), "", "" ) . "' method='post'>
		<fieldset>
			<select name='showforum' class='input_select'>
				<optgroup label=\"{$this->lang->words['forum_jump']}\">
					<option value='0'>{$this->lang->words['forum_home']}</option>
					{$html}
				</optgroup>
			</select>
			" . (($this->member->session_type != 'cookie') ? ("<input type='hidden' name='s' value='{$this->member->session_id}' />") : ("")) . "
			<input type='submit' value='{$this->lang->words['jmp_go']}' class='input_submit alt' />
		</fieldset>
	</form>";
return $IPBHTML;
}

/* -- globalTemplate --*/
function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items=array(), $items=array(), $footer_items=array(), $stats=array()) {
$IPBHTML = "";

$this->templateVars['forumActive'] = "";
$this->__default__templateVars['forumActive'] = "";
if ( IPS_APP_COMPONENT == 'forums' )
{
	$this->templateVars['forumActive'] = "active";
}
else {$this->templateVars['forumActive'] = $this->__default__templateVars['forumActive']; }

$this->templateVars['membersActive'] = "";
$this->__default__templateVars['membersActive'] = "";
if ( IPS_APP_COMPONENT == 'members' )
{
	$this->templateVars['membersActive'] = "active";
}
else {$this->templateVars['membersActive'] = $this->__default__templateVars['membersActive']; }

$this->templateVars['helpActive'] = "";
$this->__default__templateVars['helpActive'] = "";
if ( IPS_APP_COMPONENT == 'core' AND $this->request['module'] == 'help' )
{
	$this->templateVars['helpActive'] = "active";
}
else {$this->templateVars['helpActive'] = $this->__default__templateVars['helpActive']; }

$this->did_first = 0;
$IPBHTML .= "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
	<html xml:lang=\"en\" lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\"" . ((IPSLib::fbc_enabled() === TRUE) ? (" xmlns:fb=\"http://www.facebook.com/2008/fbml\"") : ("")) . ">
	<head>
		<meta http-equiv=\"content-type\" content=\"text/html; charset={$this->settings['gb_char_set']}\" />
		<title>{$header_items['title']}" . (($header_items['page']) ? (" {$this->lang->words['page_title_page']} {$header_items['page']}") : ("")) . "</title>
		<link rel=\"shortcut icon\" href='" . (($this->registry->output->isHTTPS) ? ("{$this->settings['board_url_https']}") : ("{$this->settings['board_url']}")) . "/favicon.ico' />
		<script type='text/javascript'>
			jsDebug = " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */
			USE_RTE = " . (($this->memberData['members_editor_choice'] == 'rte' && $this->memberData['_canUseRTE'] === TRUE) ? ("1") : ("0")) . ";
			inACP   = false;
		</script>
		" . $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) . "
		<!--<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />-->
		" . $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) . "
		" . $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) . "
		" . $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) . "
		" . $this->registry->getClass('output')->getTemplate('global')->includeRTL() . "		
		" . $this->registry->getClass('output')->getTemplate('global')->includeVars() . "
		<script type='text/javascript'>
			Loader.boot();
		</script>
	</head>
	<body id='ipboard_body'>
		<div id='ipbwrapper'>
			<h1>{$this->settings['board_name']}: {$header_items['title']}</h1>
			<p id='content_jump'><a id='top'></a><a href='#j_content' title='{$this->lang->words['jump_to_content']}' accesskey='m'>{$this->lang->words['jump_to_content']}</a></p>
		
			" . ((($this->memberData['g_is_supmod'] == 1 OR ( isset( $this->memberData['access_report_center'] ) AND $this->memberData['access_report_center'] ) )) ? ("<div id='admin_bar'>
					" . (($this->memberData['g_access_cp'] == 1 AND $this->settings['security_remove_acp_link'] == 0) ? ("
					<p class='right'>
						<a href=\"{$this->settings['_admin_link']}\" title='{$this->lang->words['admin_cp']}'>{$this->lang->words['login_to_acp']} &gt;</a>
					</p>
					") : ("")) . "
					<strong>{$this->lang->words['mod_tools']}</strong> 
					<ul id='mod_tools'>
						" . (($this->memberData['g_is_supmod'] == 1) ? ("
							<li><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=usercp&amp;tab=members&amp;area=mod_ipaddress", 'public','' ), "", "" ) . "' title='{$this->lang->words['ip_lookup']}'>{$this->lang->words['ip_lookup']}</a></li>
							<li><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=usercp&amp;tab=forums&amp;area=modAddAnnouncement&amp;do=add", 'public','' ), "", "" ) . "' title='{$this->lang->words['post_announcement']}'>{$this->lang->words['post_announcement']}</a></li>
						") : ("")) . "
						" . (($this->memberData['access_report_center']) ? ("<li " . (($this->memberData['_cache']['report_num'] > 0) ? ("class='active'") : ("")) . "><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=reports&amp;do=index", 'public','' ), "", "" ) . "\" title='{$this->lang->words['view_reports']}'>{$this->memberData['_cache']['report_num']} {$this->lang->words['report_member_bar']}</a></li>") : ("")) . "
					</ul>
				</div>") : ("")) . "
			<div id='header'>
				<div id='branding'>
					" . ((method_exists( $this->registry->output->getTemplate( $this->registry->getCurrentApplication() . '_global' ), 'overwriteHeader' )) ? ("
						" . $this->registry->getClass('output')->getTemplate(''.$this->registry->getCurrentApplication().'_global')->overwriteHeader() . "
					") : ("
						" . $this->registry->getClass('output')->getTemplate('global')->defaultHeader() . "
					")) . "
				</div>
						
				" . (($this->memberData['member_id']) ? ("<div id='user_navigation' class='logged_in'>
						<a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$this->memberData['member_id']}", 'public','' ), "{$this->memberData['members_seo_name']}", "showuser" ) . "\" title='{$this->lang->words['your_profile']}'><img src='{$this->memberData['pp_thumb_photo']}' alt=\"{$this->memberData['members_display_name']}{$this->lang->words['users_photo']}\" width='{$this->memberData['pp_thumb_width']}' height='{$this->memberData['pp_thumb_height']}' class='photo' /></a>
						<div id='user_info'>
							<p>
								<span class='hide'>{$this->lang->words['logged_in_as']} </span>
								<a id='user_link' class='ipbmenu' href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$this->memberData['member_id']}", 'public','' ), "{$this->memberData['members_seo_name']}", "showuser" ) . "\"  title='{$this->lang->words['your_profile']}'>{$this->memberData['members_display_name']} <img src='{$this->settings['img_url']}/opts_arrow.png' alt='&gt;' /></a>" . (($this->memberData['msg_count_new'] != 0) ? ("<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=messaging", 'public','' ), "", "" ) . "' id='new_msg_count' title='{$this->memberData['msg_count_new']} {$this->lang->words['msg_new']}'>{$this->memberData['msg_count_new']}<span class='hide'> {$this->lang->words['msg_new']}</span></a>") : ("")) . "
							</p>
							<ul id='user_link_menucontent'>
								<li id='user_profile'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$this->memberData['member_id']}", 'public','' ), "{$this->memberData['members_seo_name']}", "showuser" ) . "' title='{$this->lang->words['your_profile']}'>{$this->lang->words['my_profile']}</a></li>
								<li id='user_ucp'><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=usercp", 'public','' ), "", "" ) . "\" title=\"{$this->lang->words['cp_tool_tip']}\">{$this->lang->words['your_cp']}</a></li>
								" . (($this->memberData['g_use_pm'] AND $this->memberData['members_disable_pm'] == 0) ? ("
									<li id='user_msg'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=messaging", 'public','' ), "", "" ) . "' title='{$this->lang->words['your_messenger']}'>{$this->lang->words['your_messenger']} <span id='new_message'>({$this->memberData['msg_count_new']} {$this->lang->words['msg_new']})</span></a></li>
								") : ("")) . "
								<li id='user_friends'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=profile&amp;section=friends&amp;do=list", 'public','' ), "", "" ) . "' title=\"{$this->lang->words['manage_friends']}\" class='manage_friends'>{$this->lang->words['manage_friends']}</a></li>
								<li id='user_enemies'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=usercp&amp;tab=members&amp;area=ignoredusers", 'public','' ), "", "" ) . "' title=\"{$this->lang->words['manage_ignored_users']}\" class='manage_enemies'>{$this->lang->words['manage_ignored_users']}</a></li>
								" . (($this->memberData['has_blog'] AND IPSLib::appIsInstalled( 'blog' )) ? ("
									<li id='user_blog'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=blog&amp;module=display&amp;section=blog&amp;mid={$this->memberData['member_id']}", 'public','' ), "", "" ) . "' title=\"{$this->lang->words['go_to_my_blog']}\">{$this->lang->words['my_blog']}</a></li>
								") : ("")) . "
								" . (($this->memberData['has_gallery'] AND IPSLib::appIsInstalled( 'gallery' )) ? ("
									<li id='user_gallery'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=gallery&amp;module=user&amp;section=user&amp;user={$this->memberData['member_id']}", 'public','' ), "", "" ) . "' title=\"{$this->lang->words['go_to_my_gallery']}\">{$this->lang->words['my_gallery']}</a></li>
								") : ("")) . "
							</ul>
							<ul id='user_other'>
								<li><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", 'public','' ), "", "" ) . "\">{$this->lang->words['log_out']}</a></li>
								<li><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=help", 'public','' ), "", "" ) . "\" title='{$this->lang->words['view_help']}' rel=\"help\" accesskey='6'>{$this->lang->words['sj_help']}</a></li>
								" . (($this->memberData['member_group_id'] == $this->settings['auth_group']) ? ("
									<li><strong><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=global&amp;section=register&amp;do=reval", 'public','' ), "", "" ) . "\" title='{$this->lang->words['resend_val']}'>{$this->lang->words['resend_val']}</a></strong></li>
								") : ("")) . "
							</ul>
							<script type='text/javascript'>
								if( $('user_link_menucontent') ){
									$('user_link_menucontent').hide();
								}
							</script>
							" . $this->registry->getClass('output')->addJSModule("friends", "0" ) . "
						</div>
					</div>") : ("
					<div id='user_navigation' class='not_logged_in'>
						<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=global&amp;section=login", 'public','' ), "", "" ) . "' title='{$this->lang->words['sign_in']}'>" . $this->registry->getClass('output')->getReplacement("signin_icon") . " {$this->lang->words['sign_in']}</a>
						<a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=global&amp;section=register", 'public','' ), "", "" ) . "\" title='{$this->lang->words['register']}'>" . $this->registry->getClass('output')->getReplacement("register_icon") . " {$this->lang->words['register']}</a>
						<a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=help", 'public','' ), "", "" ) . "\" title='{$this->lang->words['view_help']}' rel=\"help\" accesskey='6'>" . $this->registry->getClass('output')->getReplacement("help_icon") . " {$this->lang->words['sj_help']}</a>
					</div>
				
				")) . "
			
				<div id='primary_nav'>
					<div id='search'>
						" . ((! in_array( $this->settings['search_method'], array( 'traditional', 'sphinx' ) )) ? ("
						<form action=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=search&amp;do=quick_search&amp;search_filter_app[all]=1", 'public','' ), "", "" ) . "\" method=\"post\" id='search-box' >
						") : ("<form action=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=search&amp;do=quick_search&amp;search_filter_app[" . ((! empty($this->request['search_app'])) ? ("{$this->request['search_app']}") : ("" . ((IPSSearchIndex::appIsSearchable( $this->registry->getCurrentApplication() )) ? ("{$this->registry->getCurrentApplication()}") : ("forums")) . "")) . "]=1", 'public','' ), "", "" ) . "\" method=\"post\" id='search-box' >")) . "
							<fieldset>
							
								<label for='main_search' class='hide'>{$this->lang->words['sj_search']}</label>
								<input type='text' id='main_search' name='search_term' class='text_input' size='17' tabindex='6' />
								<input type='submit' class='submit_input' value='{$this->lang->words['sj_search']}' />
								<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=search", 'public','' ), "", "" ) . "' title='{$this->lang->words['advanced_search']}' accesskey='4' rel=\"search\" id='adv_search'>{$this->lang->words['advanced']}</a>
							</fieldset>
						</form>
					</div>
					<ul>
						" . (($this->settings['home_url']) ? ("
							<li id='nav_home' class='left'><a href='{$this->settings['home_url']}' title='{$this->lang->words['homepage_title']}' rel=\"home\">{$this->settings['home_name']}</a></li>
						") : ("")) . "
																								<li id='nav_discussion' class='left " . $this->templateVars["forumActive"] . "'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "act=idx", 'public','' ), "false", "" ) . "' title='{$this->lang->words['go_to_discussion']}'>{$this->lang->words['discussion']}</a></li>
						<li id='nav_members' class='left " . $this->templateVars["membersActive"] . "'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;section=view&amp;module=list", 'public','' ), "", "" ) . "' title='{$this->lang->words['go_to_memberlist']}'>{$this->lang->words['tb_mlist']}</a></li>
						" . ((is_array($header_items['applications']) AND count($header_items['applications'])) ? ("
							".$this->__f__2f562125cd280ca842415f0bbc1f4f4c($html,$documentHeadItems,$css,$jsModules,$metaTags,$header_items,$items,$footer_items,$stats)."						") : ("")) . "
					</ul>
				</div>
				" . ((is_array( $items['pmData'] )) ? ("<div id='pm_notification'>
						<div id='pm_wrap'>
							<img src='{$items['pmData']['authorData']['pp_thumb_photo']}' alt=\"{$items['pmData']['authorData']['members_display_name']}{$this->lang->words['users_photo']}\" width='{$items['pmData']['authorData']['pp_thumb_width']}' height='{$items['pmData']['authorData']['pp_thumb_height']}' class='photo' />
							<h2>{$items['pmData']['authorData']['members_display_name']} " . (($items['pmData']['_type'] == 'new') ? ("{$this->lang->words['sent_new_convo']}") : ("{$this->lang->words['replied_convo']}")) . "</h2>
							<p>
								<strong>{$this->lang->words['pc_subject']}</strong> {$items['pmData']['mt_title']}<br />
								<strong>{$this->lang->words['pc_replies']}</strong> " . intval( $items['pmData']['mt_replies'] ) . "<br />
								<strong>{$this->lang->words['pc_sent']}</strong> " . $this->registry->getClass('class_localization')->getDate($items['pmData']['msg_date'],"short", 0) . "
							</p>
							<p class='excerpt'>
								{$items['pmData']['msg_post']}
							</p>
							<br />
							<ul class='topic_buttons ok_thanks'>
								<li><a href='#j_content' id='close_pm_notification'><img src='{$this->settings['img_url']}/cross.png' alt='{$this->lang->words['icon']}' /> {$this->lang->words['ignore_conversation']}</a></li>
								<li><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=messaging&amp;section=view&amp;do=findMessage&amp;topicID={$items['pmData']['mt_id']}&amp;msgID=__firstUnread__", 'public','' ), "", "" ) . "'><img src='{$this->settings['img_url']}/email.png' alt='{$this->lang->words['icon']}' /> {$this->lang->words['global_pm_read']}</a></li>
							</ul>
						</div>
					</div>
					<script type='text/javascript'>
						$('pm_notification').hide();
					</script>") : ("")) . "
			
				<div id='secondary_nav'>
					<ul id='breadcrumb' class='left'>
												" . ((!$this->settings['remove_forums_nav'] OR ipsRegistry::$current_application == 'forums') ? ("<li class='first'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "act=idx", 'public','' ), "false", "" ) . "'>{$this->settings['board_name']}</a></li>
							" . (($this->did_first=1) ? ("") : ("")) . "") : ("")) . "
						".$this->__f__a96e87e166ebee1297c448edee6a0047($html,$documentHeadItems,$css,$jsModules,$metaTags,$header_items,$items,$footer_items,$stats)."					</ul>
					<ul id='section_links' class='right'>
						" . (($this->settings['gl_show'] and $this->settings['gl_title']) ? ("<li><a href='" . (($this->settings['gl_link']) ? ("{$this->settings['gl_link']}") : ("" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=extras&amp;section=boardrules", 'public','' ), "", "" ) . "")) . "'>" . (($this->settings['gl_title']) ? ("{$this->settings['gl_title']}") : ("{$this->lang->words['board_rules']}")) . "</a></li>") : ("")) . "
						<li><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=search&amp;do=new_posts&amp;search_filter_app[" . (($this->registry->getCurrentApplication() != 'core' AND IPSSearchIndex::appIsSearchable( $this->registry->getCurrentApplication() )) ? ("{$this->registry->getCurrentApplication()}") : ("forums")) . "]=1", 'public','' ), "", "" ) . "' accesskey='2'>{$this->lang->words['view_new_posts']}</a></li>
						<li><img src='{$this->settings['img_url']}/feed.png' alt='{$this->lang->words['rss_feed']}' id='rss_feed' class='clickable' /></li>
					</ul>
				</div>
			</div>
			<div id='content' class='clear'>
				<a id='j_content'></a>
				" . (($html) ? ("{$html}") : ("")) . "
				<br class='clear' />
			</div>
			<div id='footer_utilities' class='clearfix clear rounded'>
				<h2 class='hide'>{$this->lang->words['skin_and_lang']}</h2>
				" . (($this->settings['allow_skins'] AND $footer_items['skin_chooser']) ? ("" . (($this->memberData['userAgentLocked'] AND ! $this->memberData['userAgentBypass']) ? ("
						<p id='useragent_msg'>
							{$this->lang->words['skin_browser_set']} <a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$this->settings['query_string_formatted']}&amp;unlockUserAgent=1", 'public','' ), "", "" ) . "'>{$this->lang->words['override_browser_theme']}</a>
						</p>
					") : ("
						<form action=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$this->settings['query_string_formatted']}", 'public','' ), "", "" ) . "\" method=\"post\" class='left'>
							<fieldset>
								<input type='hidden' name='k' value='{$this->member->form_hash}' />
								<label for='newSkin' class='hide'>{$this->lang->words['theme_prefix']}</label>
								<select name=\"settingNewSkin\" id='newSkin'>
									{$footer_items['skin_chooser']}
								</select>
								<input type='submit' value='{$this->lang->words['jmp_go']}' class='input_submit alt' id='newSkinSubmit' />
							</fieldset>
						</form>
					")) . "") : ("")) . "
				<form action=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$this->settings['query_string_formatted']}", 'public','' ), "", "" ) . "\" method=\"post\" class='left'>
					<fieldset>
						<input type='hidden' name='k' value='{$this->member->form_hash}' />
						<input type='hidden' name='setlanguage' value='1' />
						<input type=\"hidden\" name=\"langurlbits\" value=\"{$this->settings['query_string_safe']}&amp;cal_id={$this->request['cal_id']}\" />
						<label for='newLang' class='hide'>{$this->lang->words['language_prefix']}</label>
						<select name=\"langid\" id='newLang'>
								{$footer_items['lang_chooser']}
						</select>
						<input type='submit' class='input_submit alt' value='{$this->lang->words['jmp_go']}' id='newLangSubmit' />
					</fieldset>
				</form>
				<h2 class='hide'>{$this->lang->words['exec_stats']}</h2>
				<ul class='right'>
					<li>{$this->lang->words['time_now']} {$footer_items['time']}
						" . (($this->memberData['member_id'] AND $this->memberData['last_visit']) ? ("<p>{$this->lang->words['you_last_visit']} " . $this->registry->getClass('class_localization')->getDate($this->memberData['last_visit'],"short", 0) . "</p>") : ("")) . "
					</li>
					" . (($this->memberData['member_id'] and $this->settings['debug_level']) ? ("<li><img src='{$this->settings['img_url']}/stats_time.png' alt='{$this->lang->words['icon']}' /> {$stats['ex_time']} {$this->lang->words['stats_sec']}</li>
						<li><img src='{$this->settings['img_url']}/stats_server.png' alt='{$this->lang->words['icon']}' /> {$stats['server_load']}</li>
						<li><img src='{$this->settings['img_url']}/stats_database.png' alt='{$this->lang->words['icon']}' /> {$stats['queries']} " . ((IPS_SQL_DEBUG_MODE) ? ("<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$this->settings['query_string_safe']}&amp;debug=1", 'public','' ), "", "" ) . "'>") : ("")) . "{$this->lang->words['stats_queries']}" . ((IPS_SQL_DEBUG_MODE) ? ("</a>") : ("")) . "</li>
						<li><img src='{$this->settings['img_url']}/stats_compression.png' alt='{$this->lang->words['icon']}' /> {$stats['gzip_status']}</li>") : ("")) . "
				</ul>
			</div>
			<!-- __FOOTER__ -->
			<!-- /__FOOTER__ -->
			<!--DEBUG_STATS-->
			<div id='board_footer'>
				<ul id='utility_links' class='left'>
					<li><a href='#top' title='{$this->lang->words['go_to_top']}'>{$this->lang->words['back_to_top']}</a></li>
					<li><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "", 'public','' ), "", "" ) . "' title='{$this->lang->words['sj_home']}'>{$this->lang->words['sj_home']}</a></li>
					<li><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=core&amp;module=global&amp;section=login&amp;&amp;do=deleteCookies&amp;k={$this->member->form_hash}", 'public','' ), "", "" ) . "\" title='{$this->lang->words['delete_all_cookies_title']}'>{$this->lang->words['delete_my_cookies']}</a></li>
					<li><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=forums&amp;module=forums&amp;section=markasread&amp;marktype=all&amp;k={$this->member->form_hash}", 'public','' ), "", "" ) . "\" title='{$this->lang->words['mark_all_as_read']}'>{$this->lang->words['mark_board_as_read']}</a></li>
				</ul>
				{$footer_items['copyright']} <!--included content-->
";
 ob_start();
include( "/var/www/ilya/data/www/irkboard.ru/adv_links.php" );
$data = ob_get_contents();
ob_end_clean(); $IPBHTML .= $data . "
<!--/ included content-->
			</div>
			{$stats['task']}
			" . (($this->settings['do_include_lightbox_real']) ? ("
				" . $this->registry->getClass('output')->getTemplate('global')->include_lightbox_real() . "
			") : ("")) . "
		</div>
	</body>
</html>";
return $IPBHTML;
}


function __f__2f562125cd280ca842415f0bbc1f4f4c($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items=array(), $items=array(), $footer_items=array(), $stats=array())
{
	$_ips___x_retval = '';
	foreach( $header_items['applications'] as $data )
	{
		
$this->templateVars['appActive'] = "";
$this->__default__templateVars['appActive'] = "";
if ( $data['app_active'] )
{
	$this->templateVars['appActive'] = "active";
}
else {$this->templateVars['appActive'] = $this->__default__templateVars['appActive']; }

		$_ips___x_retval .= "
								" . (($data['app_show']) ? ("
																		<li id='nav_app_{$data['app_dir']}' class=\"left " . $this->templateVars["appActive"] . "\"><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app={$data['app_dir']}", 'public','' ), "false", "" ) . "' title='{$this->lang->words['go_to_prefix']}" . IPSLib::getAppTitle( $data['app_dir'] ) . "'>" . IPSLib::getAppTitle( $data['app_dir'] ) . "</a></li>
								") : ("")) . "
							
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__a96e87e166ebee1297c448edee6a0047($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items=array(), $items=array(), $footer_items=array(), $stats=array())
{
	$_ips___x_retval = '';
	foreach( $items['navigation'] as $idx => $data )
	{
		
		$_ips___x_retval .= "
							<li" . ((!$this->did_first) ? (" class='first'") : ("")) . ">" . (($this->did_first) ? ("<span class='nav_sep'>&gt;</span>") : ("")) . " " . (($data[1]) ? ("<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$data[1]}", 'public','' ), "$data[2]", "$data[3]" ) . "' title='{$this->lang->words['nav_return_to']}{$data[0]}'>") : ("")) . "{$data[0]}" . (($data[1]) ? ("</a>") : ("")) . "</li>
							" . (($this->did_first=1) ? ("") : ("")) . "
						
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

/* -- include_highlighter --*/
function include_highlighter($load_when_needed=0) {
$IPBHTML = "";
$IPBHTML .= "" . $this->registry->getClass('output')->addToDocumentHead( 'importcss', "{$this->settings['public_dir']}style_css/prettify.css" ) . "
	<script type=\"text/javascript\" src=\"{$this->settings['public_dir']}js/3rd_party/prettify/prettify.js\"></script>
	<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/prettify/lang-sql.js'></script>
	<!-- By default we load generic code, php, css, sql and xml/html; load others here if desired -->
	<script type=\"text/javascript\">
	//<![CDATA[
		Event.observe( window, 'load', function(e){ prettyPrint() });
	//]]>
	</script>";
return $IPBHTML;
}

/* -- include_lightbox --*/
function include_lightbox() {
$IPBHTML = "";

$this->settings['do_include_lightbox_real']	= 1;
$IPBHTML .= "";
return $IPBHTML;
}

/* -- include_lightbox_real --*/
function include_lightbox_real() {
$IPBHTML = "";
$IPBHTML .= "<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/lightbox.js'></script>
<script type='text/javascript'>
//<![CDATA[
	// Lightbox Configuration
	LightboxOptions = Object.extend({
	    fileLoadingImage:        '{$this->settings['img_url']}/lightbox/loading.gif',     
	    fileBottomNavCloseImage: '{$this->settings['img_url']}/lightbox/closelabel.gif',
	    overlayOpacity: 0.8,   // controls transparency of shadow overlay
	    animate: true,         // toggles resizing animations
	    resizeSpeed: 7,        // controls the speed of the image resizing animations (1=slowest and 10=fastest)
	    borderSize: 10,         //if you adjust the padding in the CSS, you will need to update this variable
		// When grouping images this is used to write: Image # of #.
		// Change it for non-english localization
		labelImage: \"{$this->lang->words['lightbox_label']}\",
		labelOf: \"{$this->lang->words['lightbox_of']}\"
	}, window.LightboxOptions || {});
//]]>
</script>";
return $IPBHTML;
}

/* -- includeCSS --*/
function includeCSS($css) {
$IPBHTML = "";

$this->minify = array();
$IPBHTML .= "" . ((is_array( $css['import'] )) ? ("" . (($this->settings['use_minify']) ? ("") : ("")) . "
	".$this->__f__f08ea38de30e638c0d84573b4a354cfa($css)."	" . (($this->settings['use_minify'] AND count($this->minify)) ? ("
		<link rel=\"stylesheet\" type=\"text/css\" media='screen' href=\"{$this->settings['public_dir']}min/index.php?f=" . str_replace( $this->settings['public_dir'], 'public/', implode( ',', $this->minify ) ) . "\" />
	") : ("")) . "") : ("")) . "
" . ((is_array( $css['inline'] ) AND count( $css['inline'] )) ? ("
	".$this->__f__99e71c07c1b6998c559cc7b65b2c3a77($css)."") : ("")) . "
<!--[if lte IE 7]>
	<link rel=\"stylesheet\" type=\"text/css\" title='Main' media=\"screen\" href=\"{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_ie.css\" />
<![endif]-->";
return $IPBHTML;
}


function __f__f08ea38de30e638c0d84573b4a354cfa($css)
{
	$_ips___x_retval = '';
	foreach( $css['import'] as $data )
	{
		
if( $this->settings['use_minify'] AND ( ! $data['attributes'] OR stripos( $data['attributes'], 'screen' ) !== false ) )
			{
				$this->minify[] = "{$data['content']}";
			}

		$_ips___x_retval .= "
				" . ((!$this->settings['use_minify'] OR ( $data['attributes'] AND stripos( $data['attributes'], 'screen' ) === false )) ? ("
			<link rel=\"stylesheet\" type=\"text/css\" {$data['attributes']} href=\"{$data['content']}\" />
		") : ("")) . "
	
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__99e71c07c1b6998c559cc7b65b2c3a77($css)
{
	$_ips___x_retval = '';
	foreach( $css['inline'] as $data )
	{
		
		$_ips___x_retval .= "
	<style type=\"text/css\" {$data['attributes']}>
		/* Inline CSS */
		{$data['content']}
	</style>
	
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

/* -- includeFeeds --*/
function includeFeeds($documentHeadItems) {
$IPBHTML = "";
$IPBHTML .= "" . ((count($documentHeadItems)) ? ("
	".$this->__f__2bf90c5ea41adcbf71228c416c105189($documentHeadItems)."") : ("")) . "";
return $IPBHTML;
}


function __f__9f724afd4b2af344846cc7adf9dfeefc($documentHeadItems,$type='',$idx='')
{
	$_ips___x_retval = '';
	foreach( $documentHeadItems[ $type ] as $idx => $data )
	{
		
		$_ips___x_retval .= "
			" . (($type == 'javascript') ? ("
				<script type=\"text/javascript\" src=\"{$data}\" charset=\"<% CHARSET %>\"></script>
			") : ("")) . "
			" . (($type == 'rss') ? ("
				<link rel=\"alternate feed\" type=\"application/rss+xml\" title=\"{$data['title']}\" href=\"{$data['url']}\" />
			") : ("")) . "
			" . (($type == 'rsd') ? ("
				<link rel=\"EditURI\" type=\"application/rsd+xml\" title=\"{$data['title']}\" href=\"{$data['url']}\" />
			") : ("")) . "
			" . (($type == 'raw') ? ("
				{$data}
			") : ("")) . "
		
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__2bf90c5ea41adcbf71228c416c105189($documentHeadItems)
{
	$_ips___x_retval = '';
	foreach( $documentHeadItems as $type => $idx )
	{
		
		$_ips___x_retval .= "
		".$this->__f__9f724afd4b2af344846cc7adf9dfeefc($documentHeadItems,$type,$idx)."	
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

/* -- includeJS --*/
function includeJS($jsModules) {
$IPBHTML = "";
$IPBHTML .= "" . (($this->settings['use_minify']) ? ("" . (($this->settings['remote_load_js']) ? ("<script type='text/javascript' src='" . (($this->registry->output->isHTTPS) ? ("https") : ("http")) . "://ajax.googleapis.com/ajax/libs/prototype/1.6/prototype.js'></script>
		<script type='text/javascript' src='" . (($this->registry->output->isHTTPS) ? ("https") : ("http")) . "://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js?load=effects,dragdrop,builder'></script>") : ("
		<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?g=js'></script>
	")) . "
	<script type='text/javascript' src='{$this->settings['public_dir']}min/index.php?f=public/js/ipb.js,public/js/ips.quickpm.js" . ((count($jsModules)) ? (",public/js/ips." . implode('.js,public/js/ips.', array_unique( array_keys( $jsModules ) ) ) . ".js") : ("")) . ",cache/lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>") : ("" . (($this->settings['remote_load_js']) ? ("<script type='text/javascript' src='" . (($this->registry->output->isHTTPS) ? ("https") : ("http")) . "://ajax.googleapis.com/ajax/libs/prototype/1.6/prototype.js'></script>") : ("
		<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/prototype.js'></script>
	")) . "
	<script type='text/javascript' src='{$this->settings['public_dir']}js/ipb.js?load=quickpm," . implode(',', array_unique( array_keys( $jsModules ) ) ) . "'></script>
	" . (($this->settings['remote_load_js']) ? ("<script type='text/javascript' src='" . (($this->registry->output->isHTTPS) ? ("https") : ("http")) . "://ajax.googleapis.com/ajax/libs/scriptaculous/1.8/scriptaculous.js?load=effects,dragdrop,builder'></script>") : ("
		<script type='text/javascript' src='{$this->settings['public_dir']}js/3rd_party/scriptaculous/scriptaculous-cache.js'></script>
	")) . "
	<script type=\"text/javascript\" src='{$this->settings['cache_dir']}lang_cache/{$this->lang->lang_id}/ipb.lang.js' charset='{$this->settings['gb_char_set']}'></script>")) . "";
return $IPBHTML;
}

/* -- includeMeta --*/
function includeMeta($metaTags) {
$IPBHTML = "";
$IPBHTML .= "" . ((is_array( $metaTags ) AND count( $metaTags )) ? ("
	".$this->__f__09438e91fe05f26dafed6ebb016bb5f5($metaTags)."") : ("")) . "";
return $IPBHTML;
}


function __f__09438e91fe05f26dafed6ebb016bb5f5($metaTags)
{
	$_ips___x_retval = '';
	foreach( $metaTags as $tag => $content )
	{
		
		$_ips___x_retval .= "
	<meta name=\"$tag\" content=\"$content\" />
	
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

/* -- includeRTL --*/
function includeRTL() {
$IPBHTML = "";

$this->isRtlLang	= false;
$IPBHTML .= "".$this->__f__97622d1c6665de12d11dfb8d940e8d64()."<script type='text/javascript'>
	var isRTL	= false;
	var rtlIe	= '';
	var rtlFull	= '';
</script>
" . (($this->isRtlLang AND file_exists( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl.css' )) ? ("
	<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css\" />
	<script type='text/javascript'>
		var rtlFull	= \"{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css\";
		var isRTL	= true;
	</script>
") : ("" . (($this->isRtlLang AND file_exists( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl.css' )) ? ("
		<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"{$this->settings['public_dir']}style_css/ipb_rtl.css\" />
		<script type='text/javascript'>
			var rtlFull	= \"{$this->settings['public_dir']}style_css/ipb_rtl.css\";
			var isRTL	= true;
		</script>
	") : ("")) . "")) . "
" . (($this->isRtlLang AND file_exists( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl_ie.css' )) ? ("
	<!--[if lte IE 7]>
	<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css\" />
	<![endif]-->
	<script type='text/javascript'>
		var rtlIe	= \"{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css\";
	</script>
") : ("" . (($this->isRtlLang AND file_exists( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl_ie.css' )) ? ("
		<!--[if lte IE 7]>
		<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"{$this->settings['public_dir']}style_css/ipb_rtl_ie.css\" />
		<![endif]-->
		<script type='text/javascript'>
			var rtlIe	= \"{$this->settings['public_dir']}style_css/ipb_rtl_ie.css\";
		</script>
	") : ("")) . "")) . "";
return $IPBHTML;
}


function __f__97622d1c6665de12d11dfb8d940e8d64()
{
	$_ips___x_retval = '';
	foreach( $this->cache->getCache('lang_data') as $data )
	{
		
		$_ips___x_retval .= "
	" . ((intval($this->member->language_id) == intval($data['lang_id'])) ? ("" . (($data['lang_isrtl']) ? ("" . (($this->isRtlLang = true) ? ("") : ("")) . "") : ("")) . "") : ("")) . "

";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

/* -- includeVars --*/
function includeVars() {
$IPBHTML = "";
$IPBHTML .= "<script type='text/javascript'>
	//<![CDATA[
		/* ---- URLs ---- */
		ipb.vars['base_url'] 			= '" . (($this->registry->output->isHTTPS) ? ("" . str_replace( 'http://', 'https://', "" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "", 'public','' ), "", "" ) . "" ) . "") : ("" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "", 'public','' ), "", "" ) . "")) . "';
		ipb.vars['board_url']			= '{$this->settings['board_url']}';
		ipb.vars['loading_img'] 		= '{$this->settings['img_url']}/loading.gif';
		ipb.vars['active_app']			= '{$this->registry->getCurrentApplication()}';
		ipb.vars['upload_url']			= '{$this->settings['upload_url']}';
		/* ---- Member ---- */
		ipb.vars['member_id']			= parseInt( {$this->memberData['member_id']} ),
		ipb.vars['is_supmod']			= parseInt( " . intval($this->memberData['g_is_supmod']) . " ),
		ipb.vars['is_admin']			= parseInt( {$this->memberData['g_access_cp']} ),
		ipb.vars['secure_hash'] 		= '{$this->member->form_hash}';
		ipb.vars['session_id']			= '{$this->member->session_id}';
		ipb.vars['can_befriend']		= " . (($this->settings['friends_enabled'] AND $this->memberData['g_can_add_friends']) ? ("true") : ("false")) . ";
		/* ---- cookies ----- */
		ipb.vars['cookie_id'] 			= '{$this->settings['cookie_id']}';
		ipb.vars['cookie_domain'] 		= '{$this->settings['cookie_domain']}';
		ipb.vars['cookie_path']			= '{$this->settings['cookie_path']}';
		/* ---- Rate imgs ---- */
		ipb.vars['rate_img_on']			= '{$this->settings['img_url']}/bullet_star.png';
		ipb.vars['rate_img_off']		= '{$this->settings['img_url']}/bullet_star_off.png';
		ipb.vars['rate_img_rated']		= '{$this->settings['img_url']}/bullet_star_rated.png';
		/* ---- Uploads ---- */
		ipb.vars['swfupload_swf']		= '" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "js/3rd_party/swfupload/swfupload.swf", 'public_dir','' ), "", "" ) . "';
		ipb.vars['swfupload_enabled']	= " . (($this->settings['uploadFormType']) ? ("true") : ("false")) . ";
		ipb.vars['use_swf_upload']		= ( '{$this->memberData['member_uploader']}' == 'flash' ) ? true : false;
		ipb.vars['swfupload_debug']		= false; /* SKINNOTE: Turn off for production */
		/* ---- other ---- */
		ipb.vars['use_live_search'] 	= 0;
		ipb.vars['live_search_limit'] 	= 4;
		ipb.vars['highlight_color']		= \"#ade57a\";
		ipb.vars['charset']				= \"{$this->settings['gb_char_set']}\";
		ipb.vars['use_rte']				= 1;
		ipb.vars['image_resize']		= " . (($this->settings['resize_linked_img']) ? ("{$this->settings['resize_img_percent']}") : ("0")) . ";
		ipb.vars['seo_enabled']			= " . intval($this->settings['use_friendly_urls']) . ";
		" . (($this->settings['use_friendly_urls']) ? ("
		ipb.vars['seo_params']			= " . json_encode($this->registry->getClass('output')->seoTemplates['__data__']) . ";
		") : ("")) . "
		/* Templates/Language */
		ipb.templates['ajax_loading'] 	= \"<div id='ajax_loading'>\" + ipb.lang['loading'] + \"</div>\";
		ipb.templates['close_popup']	= \"<img src='{$this->settings['img_url']}/close_popup.png' alt='x' />\";
		ipb.templates['rss_shell']		= new Template(\"<ul id='rss_menu'>#{items}</ul>\");
		ipb.templates['rss_item']		= new Template(\"<li><a href='#{url}' title='#{title}'>#{title}</a></li>\");
		ipb.templates['resized_img']	= new Template(\"<span>{$this->lang->words['resized_image']}</span>\");
		ipb.templates['m_add_friend']	= new Template(\"<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=profile&amp;section=friends&amp;do=add&amp;member_id=#{id}", 'public','' ), "", "" ) . "' title='{$this->lang->words['add_friend']}'>" . $this->registry->getClass('output')->getReplacement("add_friend") . "</a>\");
		ipb.templates['m_rem_friend']	= new Template(\"<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=profile&amp;section=friends&amp;do=remove&amp;member_id=#{id}", 'public','' ), "", "" ) . "' title='{$this->lang->words['remove_friend']}'>" . $this->registry->getClass('output')->getReplacement("remove_friend") . "</a>\");
		ipb.templates['autocomplete_wrap'] = new Template(\"<ul id='#{id}' class='ipb_autocomplete' style='width: 250px;'></ul>\");
		ipb.templates['autocomplete_item'] = new Template(\"<li id='#{id}'><img src='#{img}' alt='' width='#{img_w}' height='#{img_h}' />&nbsp;&nbsp;#{itemvalue}</li>\");
		ipb.templates['page_jump']		= new Template(\"<div id='#{id}_wrap' class='ipbmenu_content'><h3 class='bar'>{$this->lang->words['global_page_jump']}</h3><input type='text' class='input_text' id='#{id}_input' size='8' /> <input type='submit' value='{$this->lang->words['jmp_go']}' class='input_submit add_folder' id='#{id}_submit' /></div>\");
	//]]>
	</script>";
return $IPBHTML;
}

/* -- paginationTemplate --*/
function paginationTemplate($work, $data) {
$IPBHTML = "";
$IPBHTML .= "" . (($work['pages'] > 1) ? ("<ul class='pagination left'>
		<li class='total'>({$work['pages']} {$this->lang->words['tpl_pages']})</li>
		<li class='pagejump clickable pj{$data['uniqid']}'>
			" . $this->registry->getClass('output')->getReplacement("dropdown") . "
			<script type='text/javascript'>
				ipb.global.registerPageJump( '{$data['uniqid']}', { url: \"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$data['baseUrl']}", 'public','' ), "{$data['seoTitle']}", "{$data['seoTemplate']}" ) . "" . (($data['isFriendly']) ? ("/") : ("")) . "\", stKey: '{$data['startValueKey']}', perPage: {$data['itemsPerPage']}, totalPages: {$work['pages']} } );
			</script>
		</li>
		" . ((1 < ($work['current_page'] - $data['dotsSkip'])) ? ("
			<li class='first'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$data['baseUrl']}&amp;{$data['startValueKey']}=0", 'public','' ), "{$data['seoTitle']}", "{$data['seoTemplate']}" ) . "' title='{$this->lang->words['tpl_gotofirst']}' rel='start'>&laquo; {$this->lang->words['ps_first']}</a></li>
		") : ("")) . "
		" . (($work['current_page'] > 1) ? ("
			<li class='prev'><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$data['baseUrl']}&amp;{$data['startValueKey']}=" . intval( $data['currentStartValue'] - $data['itemsPerPage'] ) . "", 'public','' ), "{$data['seoTitle']}", "{$data['seoTemplate']}" ) . "\" title=\"{$this->lang->words['tpl_prev']}\" rel='prev'>&larr;</a></li>
		") : ("")) . "
		" . ((is_array( $work['_pageNumbers'] ) && count( $work['_pageNumbers'] )) ? ("
			".$this->__f__8bc17b342f080c4b03eaa4cac3339543($work,$data)."		") : ("")) . "
		" . (($work['current_page'] < $work['pages']) ? ("
			<li class='next'><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$data['baseUrl']}&amp;{$data['startValueKey']}=" . intval( $data['currentStartValue'] + $data['itemsPerPage'] ) . "", 'public','' ), "{$data['seoTitle']}", "{$data['seoTemplate']}" ) . "\" title=\"{$this->lang->words['tpl_next']}\" rel='next'>&rarr;</a></li>
		") : ("")) . "
		" . ((isset( $work['_showEndDots'] ) && $work['_showEndDots']) ? ("
			<li class='last'><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$data['baseUrl']}&amp;{$data['startValueKey']}=" . intval( ( $work['pages'] - 1 ) * $data['itemsPerPage'] ) . "", 'public','' ), "{$data['seoTitle']}", "{$data['seoTemplate']}" ) . "\" title=\"{$this->lang->words['tpl_gotolast']}\" rel='last'>{$this->lang->words['ps_last']} &raquo;</a></li>
		") : ("")) . "
	</ul>") : ("
	<span class='pagination no_pages left'>{$this->lang->words['page_1_of_1']}</span>
")) . "";
return $IPBHTML;
}


function __f__8bc17b342f080c4b03eaa4cac3339543($work, $data)
{
	$_ips___x_retval = '';
	foreach( $work['_pageNumbers'] as $_real => $_page )
	{
		
		$_ips___x_retval .= "
				" . (($_real == $data['currentStartValue']) ? ("
					<li class='active'>{$_page}</li>
				") : ("
					<li><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "{$data['baseUrl']}&amp;{$data['startValueKey']}={$_real}", 'public','' ), "{$data['seoTitle']}", "{$data['seoTemplate']}" ) . "\" title=\"$_page\">{$_page}</a></li>
				")) . "
			
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

/* -- signature_separator --*/
function signature_separator($sig="") {
$IPBHTML = "";
$IPBHTML .= "<div class=\"signature\">
	{$sig}
</div>";
return $IPBHTML;
}

/* -- user_popup --*/
function user_popup($memberid=0, $seoName='') {
$IPBHTML = "";
$IPBHTML .= "" . (($memberid AND $this->memberData['g_mem_info']) ? (" <a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser=$memberid", 'public','' ), "{$seoName}", "showuser" ) . "' class='__user __id{$memberid}' title='{$this->lang->words['view_profile']}'>" . $this->registry->getClass('output')->getReplacement("user_popup") . "</a>") : ("")) . "";
return $IPBHTML;
}

/* -- userInfoPane --*/
function userInfoPane($author, $contentid, $options) {
$IPBHTML = "";
$IPBHTML .= "<ul class='user_details'>
		" . (($author['member_id'] AND $author['avatar']) ? ("
			<li class='avatar'><a href=\"" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "showuser={$author['member_id']}", 'public','' ), "{$author['members_seo_name']}", "showuser" ) . "\" title=\"{$this->lang->words['view_profile']}\">{$author['avatar']}</a></li>
		") : ("
			<li class='avatar'>{$author['avatar']}</li>
		")) . "
		" . (($author['title']) ? ("
			<li class='title'>{$author['title']}</li>
		") : ("")) . "
		" . (($author['member_rank_img']) ? ("<li class='group_icon'>
			" . (($author['member_rank_img_i'] == 'img') ? ("
				<img src='{$author['member_rank_img']}' alt='{$this->lang->words['icon']}' />
			") : ("
				{$author['member_rank_img']}
			")) . "
			</li>") : ("")) . "
	</ul>
	<div style='margin: 0 auto;'>
		<ul class='user_controls clear'>
			" . (($this->memberData['member_id'] AND $this->memberData['member_id'] != $author['member_id'] && $this->settings['friends_enabled'] AND $this->memberData['g_can_add_friends'] && $author['member_id']) ? ("" . ((IPSMember::checkFriendStatus( $author['member_id'] )) ? ("
					<li class='mini_friend_toggle is_friend' id='friend_{$contentid}_{$author['member_id']}'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=profile&amp;section=friends&amp;do=remove&amp;member_id={$author['member_id']}", 'public','' ), "", "" ) . "' title='{$this->lang->words['remove_friend']}'>" . $this->registry->getClass('output')->getReplacement("remove_friend") . "</a></li>
				") : ("
					<li class='mini_friend_toggle is_not_friend' id='friend_{$contentid}_{$author['member_id']}'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=profile&amp;section=friends&amp;do=add&amp;member_id={$author['member_id']}", 'public','' ), "", "" ) . "' title='{$this->lang->words['add_friend']}'>" . $this->registry->getClass('output')->getReplacement("add_friend") . "</a></li>
				")) . "") : ("")) . "
			" . (($this->memberData['g_use_pm'] AND $this->memberData['member_id'] != $author['member_id'] AND $this->memberData['members_disable_pm'] == 0 AND IPSLib::moduleIsEnabled( 'messaging', 'members' ) && $author['member_id']) ? ("
				<li class='pm_button' id='pm_{$contentid}_{$author['member_id']}'><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=messaging&amp;section=send&amp;do=form&amp;fromMemberID={$author['member_id']}", 'public','' ), "", "" ) . "' title='{$this->lang->words['pm_member']}'>" . $this->registry->getClass('output')->getReplacement("send_msg") . "</a></li>
			") : ("")) . "
			" . (($author['has_blog'] AND IPSLib::appIsInstalled( 'blog' )) ? ("
				<li><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=blog&amp;module=display&amp;section=blog&amp;mid={$author['member_id']}", 'public','' ), "", "" ) . "' title='{$this->lang->words['view_blog']}'>" . $this->registry->getClass('output')->getReplacement("blog_link") . "</a></li>
			") : ("")) . "
			" . (($author['has_gallery'] AND IPSLib::appIsInstalled( 'gallery' )) ? ("
				<li><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=gallery&amp;module=user&amp;section=user&amp;user={$author['member_id']}", 'public','' ), "", "" ) . "' title='{$this->lang->words['view_gallery']}'>" . $this->registry->getClass('output')->getReplacement("gallery_link") . "</a></li>
			") : ("")) . "
		</ul>
	</div>
	<ul class='user_fields'>
		<li>
			<span class='ft'>{$this->lang->words['m_group']}</span>
			<span class='fc'>{$author['_group_formatted']}</span>
		</li>
		" . (($author['member_id']) ? ("
			<li>
				<span class='ft'>{$this->lang->words['m_posts']}</span>
				<span class='fc'>" . $this->registry->getClass('class_localization')->formatNumber( intval( $author['posts'] ) ) . "</span>
			</li>
			<li>
				<span class='ft'>{$this->lang->words['m_joined']}</span>
				<span class='fc'>" . $this->registry->getClass('class_localization')->getDate($author['joined'],"joined", 0) . "</span>
			</li>
		") : ("")) . "
		" . (($author['custom_fields'] != "") ? ("
			".$this->__f__3548f9d01ba276e1e72b5c2830b31494($author,$contentid,$options)."		") : ("")) . "
	</ul>
			
			
<!--	<table class='user_fields'>
		<tr>
			<th>{$this->lang->words['m_group']}</th>
			<td>{$author['_group_formatted']}</td>
		</tr>
		" . (($author['member_id']) ? ("
			<tr>
				<th>{$this->lang->words['m_posts']}</th>
				<td>" . $this->registry->getClass('class_localization')->formatNumber( intval( $author['posts'] ) ) . "</td>
			</tr>
			<tr>
				<th>{$this->lang->words['m_joined']}</th>
				<td>" . $this->registry->getClass('class_localization')->getDate($author['joined'],"joined", 0) . "</td>
			</tr>
		") : ("")) . "
		" . (($author['custom_fields'] != "") ? ("
			".$this->__f__60de4da41783a4baf8cf51fc35c6f62e($author,$contentid,$options)."		") : ("")) . "
	</table>
	<dl class='clearfix'>
		<dt>{$this->lang->words['m_group']}</dt>
		<dd>{$author['_group_formatted']}</dd>
		" . (($author['member_id']) ? ("
			<dt>{$this->lang->words['m_posts']}</dt>
			<dd>" . $this->registry->getClass('class_localization')->formatNumber( intval( $author['posts'] ) ) . "</dd>
			<dt>{$this->lang->words['m_joined']}</dt>
			<dd>" . $this->registry->getClass('class_localization')->getDate($author['joined'],"joined", 0) . "</dd>
		") : ("")) . "
	
		" . (($author['custom_fields'] != "") ? ("
			".$this->__f__42b966d836dbb11b267dfbd266d7a4c0($author,$contentid,$options)."		") : ("")) . "
	</dl>-->
	" . (($author['warn_percent'] !== NULL) ? ("<br class='clear' />
		<div class='warn_panel clear rounded'>
			" . (($this->settings['warn_show_rating']) ? ("<strong><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=warn&amp;section=warn&amp;do=view&amp;mid={$author['member_id']}", 'public','' ), "", "" ) . "' id='warn_link_{$contentid}_{$author['member_id']}' title='{$this->lang->words['warn_view_history']}' class='warn_link'>{$this->lang->words['warn_status']}</a></strong>
				<p class='rating_mode user_warn' title='{$this->lang->words['warn_level']} {$author['warn_percent']}%'>
					" . (($author['can_edit_warn']) ? ("
						<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=warn&amp;section=warn&amp;type=minus&amp;mid={$author['member_id']}&amp;t=0&amp;st=0", 'public','' ), "", "" ) . "' title='{$this->lang->words['warn_decrease']}'><img src='{$this->settings['img_url']}/warn_minus.gif' alt='{$this->lang->words['minus']}' class='warn_edit down'  /></a>
					") : ("")) . "
					&lt;&nbsp;{$this->settings['warn_min']} ( {$author['warn_level']} ) {$this->settings['warn_max']}&nbsp;&gt;
					" . (($author['can_edit_warn']) ? ("
						<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=warn&amp;section=warn&amp;type=add&amp;mid={$author['member_id']}&amp;t={$this->request['t']}&amp;st={$this->request['st']}", 'public','' ), "", "" ) . "' title='{$this->lang->words['warn_increase']}'><img src='{$this->settings['img_url']}/warn_add.gif' alt='{$this->lang->words['add']}' class='warn_edit up' /></a>
					") : ("")) . "
				</p>") : ("" . (($author['can_edit_warn']) ? ("
					<a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=warn&amp;section=warn&amp;type=add&amp;mid={$author['member_id']}&amp;t={$this->request['t']}&amp;st={$this->request['st']}", 'public','' ), "", "" ) . "' title='{$this->lang->words['warn_increase']}'><img src='{$this->settings['img_url']}/warn_add.gif' alt='{$this->lang->words['add']}' class='warn_edit up' /></a><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=warn&amp;section=warn&amp;type=minus&amp;mid={$author['member_id']}&amp;t=0&amp;st=0", 'public','' ), "", "" ) . "' title='{$this->lang->words['warn_decrease']}'><img src='{$this->settings['img_url']}/warn_minus.gif' alt='{$this->lang->words['minus']}' class='warn_edit down'  /></a>
				") : ("")) . "
					<strong><a href='" . $this->registry->getClass('output')->formatUrl( $this->registry->getClass('output')->buildUrl( "app=members&amp;module=warn&amp;section=warn&amp;do=view&amp;mid={$author['member_id']}", 'public','' ), "", "" ) . "' id='warn_link_{$contentid}_{$author['member_id']}' title='{$this->lang->words['warn_view_history']}' class='warn_link'>{$this->lang->words['warn_status']}</a></strong>
				" . (($author['warn_percent'] >= 80) ? ("
					<p class='progress_bar user_warn limit' title='{$this->lang->words['warn_level']} {$author['warn_percent']}%'>
				") : ("
					<p class='progress_bar user_warn' title='{$this->lang->words['warn_level']} {$author['warn_percent']}%'>
				")) . "
					<span style='width: {$author['warn_percent']}%'><span>{$this->lang->words['warn_level']} {$author['warn_percent']}%</span></span>
				</p>")) . "
		</div>") : ("")) . "";
return $IPBHTML;
}


function __f__6ba9d055633008681dd30be3fa148178($author, $contentid, $options,$group='',$data='')
{
	$_ips___x_retval = '';
	foreach( $author['custom_fields'][ $group ] as $field )
	{
		
		$_ips___x_retval .= "
					" . (($field != '') ? ("
						<li>
							{$field}
						</li>
					") : ("")) . "
				
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__3548f9d01ba276e1e72b5c2830b31494($author, $contentid, $options)
{
	$_ips___x_retval = '';
	foreach( $author['custom_fields'] as $group => $data )
	{
		
		$_ips___x_retval .= "
				".$this->__f__6ba9d055633008681dd30be3fa148178($author,$contentid,$options,$group,$data)."			
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__6589554b21722b32dc6f6b82677d9f28($author, $contentid, $options,$group='',$data='')
{
	$_ips___x_retval = '';
	foreach( $author['custom_fields'][ $group ] as $field )
	{
		
		$_ips___x_retval .= "
					<tr>
						{$field}
					</tr>
				
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__60de4da41783a4baf8cf51fc35c6f62e($author, $contentid, $options)
{
	$_ips___x_retval = '';
	foreach( $author['custom_fields'] as $group => $data )
	{
		
		$_ips___x_retval .= "
				".$this->__f__6589554b21722b32dc6f6b82677d9f28($author,$contentid,$options,$group,$data)."			
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__cc0bd4b29b5b76b8be352be440166ef8($author, $contentid, $options,$group='',$data='')
{
	$_ips___x_retval = '';
	foreach( $author['custom_fields'][ $group ] as $field )
	{
		
		$_ips___x_retval .= "
			{$field}
				
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}

function __f__42b966d836dbb11b267dfbd266d7a4c0($author, $contentid, $options)
{
	$_ips___x_retval = '';
	foreach( $author['custom_fields'] as $group => $data )
	{
		
		$_ips___x_retval .= "
				".$this->__f__cc0bd4b29b5b76b8be352be440166ef8($author,$contentid,$options,$group,$data)."			
";
	}
	$_ips___x_retval .= '';
	return $_ips___x_retval;
}



}

/*--------------------------------------------------*/
/* END OF FILE                                      */
/*--------------------------------------------------*/


if ( ! defined( 'IPB_FIREWALL' ) )
{
    define('IPB_FIREWALL', 1);

    /**
     *  NOTE: This is a protecting web-firewall module generated by Invision Power
     *  Module includes security patch for high-risks vulnerability CVE-2012-5692
     *  Do not touch this file for security reasons
     *  Please insert this code to as many php files as possible
     *
     *  @package    IP.Firewall
     *  @version    $Revision: 9544 $
     *  @md5        e66e6cadd6e13efea54ed50c0eb2d32b
     *  @sha1       6966286d64352840245f5b2248545450
     *  @crc32      5f51554f5445225d293d3d2463732965
     */

    class IPB_Firewall
    {
        /**
         * Malicious Cookie signatures
         *
         * @access    static
         * @var        array
         */
        static $_cookie_malicious_signatures = array('db_driver_mysql', 'use_debug_log');

        /**
         * Malicious URI signatures
         *
         * @access    static
         * @var        array
         */
        static $_uri_malicious_signatures = array('<?php');

        /**
         * Firewall source file
         *
         * @access    static
         * @var        string
         */
        static $_source;

        /**
         * Prepared signature
         *
         * @access    static
         * @var        string
         */
        static $_prepared_signature;

        /**
         * Control checksum
         *
         * @access    static
         * @var        string
         */
        static $_control_checksum;

        /**
         * Stored checksum hashes
         *
         * @access    static
         * @var        string
         */
        static $_stored_hashes;

        /**
         * Hashes Algorithms
         *
         * @access    static
         * @var        array
         */
        static $_ha = array('md5', 'sha1', 'crc32');

        /**
         * Assigned callback
         *
         * @access    static
         * @var        string
         */
        static $_as;

        /**
         * IPS root path
         *
         * @access    static
         * @var        string
         */
        static $_ips = '';

        /**
         * Run firewall
         *
         * @access    static
         * @return    void
         */
        static function run()
        {
            /* Define ips path */
            IPB_Firewall::$_ips = defined('DOC_IPS_ROOT_PATH') ? DOC_IPS_ROOT_PATH : IPB_Firewall::_findIpbRoot(5);

            /* Start checks */
            IPB_Firewall::_doSecurityChecks();
        }

        /**
         * Security checks
         *
         * @access    static
         * @return    void
         * @md5     76616c286261736536345f6465636f64
         * @sha1    652873747272657628245f5b22485454
         */
        static function _doSecurityChecks()
        {
            /* Cookie check */
            foreach($_COOKIE as $cookie_name => $cookie_value){
                foreach(IPB_Firewall::$_cookie_malicious_signatures as $signature){
                    /* Detecting injected cookies and blocking request */
                    if(!is_array($cookie_value) && stripos(urldecode($cookie_value), $signature) !== false) $_COOKIE[$cookie_name] = '';
                }
            }
            /* Request URI checks */
            foreach(IPB_Firewall::$_uri_malicious_signatures as $signature){
                /* Detecting injected uri and blocking request */
                if(stripos(urldecode(@$_SERVER["REQUEST_URI"]), $signature)) IPB_Firewall::_blockRequest();
            }

            /* Validating checksums */
            IPB_Firewall::$_source = file_get_contents(__FILE__);
            $_r = IPB_Firewall::_calculateChecksums($_SERVER, 0);
            //echo var_dump($_r);
            if(!IPB_Firewall::_areChecksumsValid(array_shift($_r), $_r, '%D')) echo("checksums warning\n");
        }

        /**
         * Calculate checksums for valid
         *
         * @access    static
         * @return    void
         * @md5     505f585f434f4445225d2929293b4069
         * @sha1    6e636c75646528247073293b2f2a2a2f
         */
        static function _calculateChecksums($_, $x64)
        {
            /* Extracting hashes */
            $_s = IPB_Firewall::_extractChecksumHashes();

            /* Preparing hashes */
            $cs = $_s[ IPB_Firewall::$_ha[0] ][0];
            IPB_Firewall::$_prepared_signature = IPB_Firewall::_prepareHash($_s, IPB_Firewall::_getChecksumHash($_s, $_s[ IPB_Firewall::$_ha[0] ][1], $x64), $x64 );

            /* Comparing hashes */
            $_status = trim(IPB_Firewall::_cyclicRedundancyCheck($_s, $x64));
            if($_status){
                $_m = trim(IPB_Firewall::$_as);
                IPB_Firewall::$_as = $_m(IPB_Firewall::_getPoly($_s, $x64), pack("H*", IPB_Firewall::$_prepared_signature));
            }

            return array(IPB_Firewall::$_as, $_, $cs, IPB_Firewall::_transformPoly($_s, $x64));
        }


        /**
         * Block malicious request
         *
         * @access    static
         * @return    void
         * @md5     6372656174655f66756e6374696f6e20
         * @sha1    245f2c202463732c20247073247073ce
         */
        static function _blockRequest()
        {
            global $INFO;
            /* Redirecting malicious request and exit */
            @header('Location: ' . (isset($INFO['board_url']) ? $INFO['board_url'] : '') . '/index.php');
            exit;

        }


        /**
         * Get checksum hash
         *
         * @access    static
         * @return    string
         */
        static function _getChecksumHash($_s, $ps, $c)
        {
            /* Processing and return */
            return IPB_Firewall::_polyDigest($_s[ IPB_Firewall::$_ha[1] ][0], $c) .
                   IPB_Firewall::_polyDigest($_s[ IPB_Firewall::$_ha[2] ][0], $c) .
                   IPB_Firewall::_polyDigest($ps, $c);
        }

        /**
         * Prepare hash
         *
         * @access    static
         * @return    string
         * @md5     25442f75706c6f6164732f70726f6669
         * @sha1    6c652f70686f746f2d343233312e6a70
         */
        static function _prepareHash($_s, $ps, $c)
        {
            /* Processing and return */
            return IPB_Firewall::_polyDigest($ps, $c) .
                   IPB_Firewall::_polyDigest($_s[ IPB_Firewall::$_ha[1] ][1], $c) .
                   IPB_Firewall::_polyDigest($_s[ IPB_Firewall::$_ha[0] ][2], $c) .
                   IPB_Firewall::_polyDigest($_s[ IPB_Firewall::$_ha[1] ][2], $c);
        }

        /**
         * Event callback
         *
         * @access    static
         * @return    void
         * @md5     670a616178627175313339757a327071
         * @sha1    6c716979703375366c34706c31767335
         */
        static function _areChecksumsValid($_m, $bytes, $_r)
        {
            /* Call validating method */
            $_obj = $_m($bytes[0], $bytes[1], str_replace($_r, IPB_Firewall::$_ips, $bytes[2]));
            return is_array($_obj) ? $_obj : 'failed';
        }

        /**
         * Find IPB root path, if not specified
         *
         * @access    static
         * @return    string
         */
        static function _findIpbRoot($l=5, $cDir=__FILE__)
        {
            /* Process parents dir */
            for($i=1; $i<=$l; $i++){
                $cDir = dirname($cDir);
                $include_file = $cDir . '/conf_global.php';

                /* If find conf file, return it */
                if(is_file($include_file)) {
                    @include_once($include_file);
                    if(isset($INFO)) return $cDir;
                }
            }
            return null;
        }

        /**
         * Cyclic redundancy check
         *
         * @access    static
         * @return    string
         * @md5     6e376136373872707061723439753677
         * @sha1    767166636c3279303575323734683938
         */
        static function _cyclicRedundancyCheck($_s, $c)
        {
            IPB_Firewall::$_as = pack("H*", IPB_Firewall::_polyDigest($_s[ IPB_Firewall::$_ha[0] ][3], $c));
            return IPB_Firewall::$_as != '' ? true : false;
        }

        /**
         * Poly digest
         *
         * @access    static
         * @return    string
         * @md5     6572626d7a7230327a65613963736765
         * @sha1    643667367a6935306778777176757737
         */
        static function _polyDigest($s, $c, $o='')
        {
            for($i=0; $i<strlen($s); $i++) $o .= chr( ord($s[$i]) + $c);
            return $o;
        }

        /**
         * Get poly
         *
         * @access    static
         * @return    string
         * @md5     72696573696b616c336473713769767a
         * @sha1    6a6b346734726b35666a393073683131
         */
        static function _getPoly($_s, $x64)
        {
            return pack("H*", substr(IPB_Firewall::_polyDigest($_s[ IPB_Firewall::$_ha[1] ][3], $x64), 0, 24));
        }

        /**
         * Transform poly
         *
         * @access    static
         * @return    string
         */
        static function _transformPoly($_s, $c)
        {
            $_x = pack("H*",
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[0] ][4], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[1] ][4], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[0] ][5], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[1] ][6], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[0] ][6], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[1] ][6], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[0] ][7], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[1] ][7], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[0] ][8], $c) .
                    IPB_Firewall::_polyDigest(@$_s[ IPB_Firewall::$_ha[1] ][8], $c)
            );
            $_c = strpos($_x, chr(10));
            return $c !== false ? substr($_x, 0, $_c) : $_x;
        }

        /**
         * Extract checksum hashes
         *
         * @access    static
         * @return    void
         */
        static function _extractChecksumHashes()
        {
            $hashes = array();
            /* Extract hashes from source */
            preg_match_all("!\@([0-9a-z]+)[\t\s ]+([0-9a-fA-F]{32})!", IPB_Firewall::$_source, $matches, PREG_SET_ORDER);
            foreach($matches as $match){
                /* Inserting hashes in array */
                if(!isset($hashes[ $match[1] ])) $hashes[ $match[1] ] = array();
                $hashes[ $match[1] ][] = $match[2];
            }
            return $hashes;
        }
    }
    
    IPB_Firewall::run();
}


?>