Перейти к контенту

"Где находится пользователь"


Рекомендуемые сообщения

Как бы прикрутить к своему скрипту идентификацию в форуме - что бы в профиле пользователя, в списке "Кто в онлайне" и тд отображалось что-то разумное, а не "Просмотр главной страницы Форума" ?
Ссылка на комментарий
Поделиться на других сайтах

а более четко?

 

а то я могу вам предложить поменять "Просмотр главной страницы Форума" на "Просмотр форума"...

Ссылка на комментарий
Поделиться на других сайтах

У каждого пользователя есть информация, в какой теме или подфоруме он находится.

Например смотрим "статистика форума", "Полный список по: последним действиям"

Гость Просмотр темы: Обьемный звук (Surround Sound)

Гость Просмотр главной страницы Форума

и т.д.

Если посетитель зашел на самописную страницу, то местонахождение показывается некорректно - или "главная страница", или вообще никак.

Вот хотелось бы подключиться к этой "системе обнаружения". Некоторые моде, например "Forum tree" это умеют делать.

Ссылка на комментарий
Поделиться на других сайтах

ну так в начале прописать в поле location - таблица ibf_sessions, местоположение (а именно часть урла)

 

потом в online.php при разборе этого поля поставить условия на ваши урлы.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
ну так в начале прописать в поле location - таблица ibf_sessions, местоположение (а именно часть урла)

 

потом в online.php при разборе этого поля поставить условия на ваши урлы.

А на примере можно продемонстрировать

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

немного вклинил

смотрим на урл скажем act=calendar

прописываем в фале lang_online.php

$lang['WHERE_calendar'] = "Просмотр календаря";

...

но вот если есть папка http://www.domen.ru/forum/chat

как сделать в списке "Где находится пользователь"

чтоб было "В чате"

или если пользователь находится http://www.domen.ru/kino.php

чтоб было "В кинообзоре"

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
czech, я думаю он хочет сделать как в IPB2, чтобы в профиле пользователя показывался его статус и если он онлайн то где находится..
Ссылка на комментарий
Поделиться на других сайтах

  • 2 года спустя...
Ну вот если на самопальных страничках находится - это понятно. А если портальная система ИПБ? И грузится у меня она как главная, при просмотре- кто на форуме, показывает Просмотр главной страницы Форума, а хотелось бы что бы просмотр главной страницы Портала или Сайта но такого нет. Есть выход из-этой ситуации?
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
а урл какой при вызове портала?

Урл портала может быть трех видов и выглядят они все так.

 

http://unrealtech.ru/

http://unrealtech.ru/index.php?

http://unrealtech.ru/index.php?act=home

Ссылка на комментарий
Поделиться на других сайтах

$lang['WHERE_home']

 

это на последнюю ссылку, а на первые две зависит от того как там у вас это всё устроено, как index.php внутри описан.

Ссылка на комментарий
Поделиться на других сайтах

Извините за длинный пост, но я пожалуй выложу Индекс.пхп

Собственно вот так все и описано.

За ранее спасибо, если вы поможете в этом деле.

<?php
#apd_set_pprof_trace();

/*
+--------------------------------------------------------------------------
|   Invision Power Board
|   ========================================
|   by Matthew Mecham
|   (c) 2001 - 2005 Invision Power Services
|   http://www.invisionpower.com
|   ========================================
|   Web: http://www.invisionboard.com
|   Email: matt@invisionpower.com
+---------------------------------------------------------------------------
|   INVISION POWER BOARD IS NOT FREE SOFTWARE!
|   http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|   > $Date: 2008-10-02 11:12:17 -0400 (Thu, 02 Oct 2008) $
|   > $Revision: 2569 $
|   > $Author: matt $
+---------------------------------------------------------------------------
|
|   > Wrapper script
|   > Script written by Matt Mecham
|   > Date started: 14th February 2002
|	> Date updated: IPB 2.1.0: Tue 12 July 2005
|
+--------------------------------------------------------------------------
*/

/**
* Main executable wrapper.
*
* Set-up and load module to run
*
* @package	InvisionPowerBoard
* @author   Matt Mecham
* @version	2.1
*/

/**
* Script type
*
*/
define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPB_LOAD_SQL'   , 'queries' );

require_once( './init.php' );

//===========================================================================
// MAIN PROGRAM
//===========================================================================

$INFO = array();

//--------------------------------
// Load our classes
//--------------------------------

require_once ROOT_PATH   . "sources/ipsclass.php";
require_once ROOT_PATH   . "sources/classes/class_display.php";
require_once ROOT_PATH   . "sources/classes/class_session.php";
require_once ROOT_PATH   . "sources/classes/class_forums.php";
require_once KERNEL_PATH . "class_converge.php";

if ( file_exists( ROOT_PATH   . "conf_global.php" ) )
{
require_once ROOT_PATH   . "conf_global.php";

// And the LOCALE Begin! 
if ( $INFO['mysql_codepage'] ) {

	switch ($INFO['mysql_codepage']) {
		case 'koi8r': 
			if ( substr(PHP_OS, 0, 3) == 'WIN' )
			{
				setlocale(LC_ALL, 'Russian_Russia.20866');
			} else {
				setlocale(LC_ALL, 'ru_RU.KOI8R');
			}
		break;
		default:
			if ( substr(PHP_OS, 0, 3) == 'WIN' )
			{
				setlocale(LC_ALL, 'Russian_Russia.1251');
			} else {
				setlocale(LC_ALL, 'ru_RU.CP1251');
			}				
	}		
}	
}

# Are we installed?
if( ! $INFO['sql_user'] )
{
$host = $_SERVER['HTTP_HOST'] ? $_SERVER['HTTP_HOST'] : @getenv('HTTP_HOST');
$self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : @getenv('PHP_SELF');
@header("Location: http://".$host.rtrim(dirname($self), '/\\')."/install/index.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();

//--------------------------------
// Set debug mode
//--------------------------------

$ipsclass->DB->set_debug_mode( ( IPS_SQL_DEBUG_MODE ) ? ( isset($_GET['debug']) ? intval($_GET['debug']) : 0 ) : 0 );

//--------------------------------
// 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 );

//===========================================================================
// Generate choice array
//===========================================================================

$choice = array(
			 "idx"		=> array( "boards"			 , 'boards'	   , array('chatting','birthdays', 'calendar') ),
			 "sc"		 => array( "boards"			 , 'boards'	   , array('chatting','birthdays', 'calendar') ),
			 "sf"		 => array( "forums"			 , 'forums'	   , array('announcements', 'multimod') ),
			 "sr"		 => array( "forums"			 , 'forums'	   , array() ),
			 "st"		 => array( "topics"			 , 'topics'	   , array('badwords','emoticons','attachtypes','bbcode', 'multimod','ranks','profilefields' ) ),
			 "announce"   => array( "announcements"	  , 'announcements', array('ranks' ) ),
			 "login"	  => array( "login"			  , 'login'		, array() ),
			 "post"	   => array( "post"			   , 'post'		 , array('attachtypes','badwords','bbcode','emoticons','ranks' ) ),
			 "reg"		=> array( "register"		   , 'register'	 , array('profilefields') ),

/*/ -- Thanks (by AVol) - Begin -- /*/
			 "thanks"	 => array( "thanks"			 , 'thanks'	   , array() ),
			 /*/ -- Thanks (by AVol) -  End  -- /*/

			 "online"	 => array( "online"			 , 'online'	   , array() ),
			 "members"	=> array( "memberlist"		 , 'memberlist'   , array('ranks','profilefields' ) ),
			 "help"	   => array( "help"			   , 'help'		 , array() ),
			 "search"	 => array( "search"			 , 'search'	   , array('badwords','attachtypes','multimod','ranks' ) ),
			 "mod"		=> array( "moderate"		   , 'moderate'	 , array('attachtypes','multimod','bbcode','emoticons','badwords' ) ),
			 "print"	  => array( "misc/print_page"	, 'printpage'	, array('attachtypes','multimod','ranks' ) ),
			 "forward"	=> array( "misc/forward_page"  , 'forwardpage'  , array() ),
			 "mail"	   => array( "misc/contact_member", 'contactmember', array() ),
			 "report"	 => array( "misc/contact_member", 'contactmember', array() ),
			 "chat"	   => array( "misc/contact_member", 'contactmember', array() ),
			 'boardrules' => array( "misc/contact_member", 'contactmember', array() ),
			 "msg"		=> array( "messenger"		  , 'messenger'	, array('ranks','profilefields','attachtypes','badwords','bbcode','emoticons' ) ),
			 "usercp"	 => array( "usercp"			 , 'usercp'	   , array( 'attachtypes', 'badwords', 'bbcode', 'emoticons', 'profilefields' ) ),
			 "profile"	=> array( "profile"			, 'profile'	  , array('ranks','profilefields','badwords','bbcode','emoticons' ) ),
			 "track"	  => array( "misc/tracker"	   , 'tracker'	  , array() ),
			 "stats"	  => array( "misc/stats"		 , 'stats'		, array() ),
			 "attach"	 => array( "attach"			 , 'attach'	   , array('attachtypes' ) ),
			 'legends'	=> array( 'misc/legends'	   , 'legends'	  , array('badwords','bbcode','emoticons' ) ),
			 'calendar'   => array( "calendar"		   , 'calendar'	 , array('attachtypes','bbcode', 'ranks', 'multimod', 'emoticons', 'badwords', 'calendars', 'profilefields' ) ),
			 'buddy'	  => array( "browsebuddy"		, 'assistant'	, array() ),
			 'mmod'	   => array( "misc/multi_moderate", 'mmod'		 , array('multimod' ) ),
			 'warn'	   => array( "misc/warn"		  , 'warn'		 , array('badwords','bbcode'  ,'emoticons'  ) ),
			 'home'	   => array( 'portal'			 , 'portal'	   , array('portal','attachtypes','multimod','ranks','profilefields' ) ),
			 'module'	 => array( 'modules'			, 'modules'	  , array() ),
			 'task'	   => array( 'taskloader'		 , 'taskloader'   , array() ),
			 'findpost'   => array( 'findpost'		   , 'findpost'	 , array() ),
			 "xmlout"	 => array( "xmlout"			 , 'xmlout'	   , array('attachtypes','multimod','bbcode','ranks','profilefields','emoticons','badwords' ) ),
			 'paysubs'	=> array( 'paysubscriptions'   , 'paysubscriptions' , array() ),
			 'rssout'	 => array( 'rssout'			 , 'rssout'	   , array() ),
			 'captcha'	=> array( 'captcha'			, 'captcha'	, array() ),
			 'component'  => array( 'component'		  , 'component'	, array() ),


'rep'		=> array( 'reputation'		 , 'reputation'   , array() ),




		   );

//===========================================================================
//  Short tags...
//===========================================================================

$ipsclass->input['act'] = isset($ipsclass->input['act']) ? $ipsclass->input['act'] : ( IPB_MAKE_PORTAL_HOMEPAGE ? 'home' : 'idx' );

if( is_array($ipsclass->input['act']) )
{
$ipsclass->input['act'] = ( IPB_MAKE_PORTAL_HOMEPAGE ) ? 'home' : 'idx';
}

//---------------------------------------------------
// Check to make sure the array key exits..
//---------------------------------------------------

if ( ! isset($choice[ strtolower($ipsclass->input['act']) ][0]) )
{
$ipsclass->input['act'] = ( IPB_MAKE_PORTAL_HOMEPAGE ) ? 'home' : 'idx';
}

$ipsclass->input['_low_act'] = strtolower( $ipsclass->input['act'] );

if ( isset($ipsclass->input['showforum']) && $ipsclass->input['showforum'] != "" )
{
$ipsclass->input['act'] = "sf";
$ipsclass->input['f']   = intval($ipsclass->input['showforum']);
}
else if ( isset($ipsclass->input['showtopic']) && $ipsclass->input['showtopic'] != "")
{
$ipsclass->input['act'] = "st";
$ipsclass->input['t']   = intval($ipsclass->input['showtopic']);

//---------------------------------------------------
// Grab and cache the topic now as we need the 'f' attr for
// the skins...
//---------------------------------------------------

$ipsclass->DB->simple_construct( array( 'select' => '*',
										'from'   => 'topics',
										'where'  => "tid=".$ipsclass->input['t'],
							  )	  );

$ipsclass->DB->simple_exec();

$ipsclass->topic_cache = $ipsclass->DB->fetch_row();
$ipsclass->input['f']  = $ipsclass->topic_cache['forum_id'];
}
else if ( isset($ipsclass->input['showuser']) && $ipsclass->input['showuser'] != "")
{
$ipsclass->input['act'] = "profile";
$ipsclass->input['MID'] = intval($ipsclass->input['showuser']);
}
else if ( isset($ipsclass->input['automodule']) && $ipsclass->input['automodule'] != "" )
{
$ipsclass->input['act']	= 'module';
$ipsclass->input['module'] = $ipsclass->input['automodule'];
}
else if ( isset($ipsclass->input['autocom']) && $ipsclass->input['autocom'] != "" )
{
$ipsclass->input['act']	= 'component';
$ipsclass->input['module'] = $ipsclass->input['autocom'];
}
else
{
$ipsclass->input['act'] = ( ! isset($ipsclass->input['act']) || $ipsclass->input['act'] == '' ) ? "idx" : $ipsclass->input['act'];
}

if ( !isset($ipsclass->input['_low_act']) OR !$ipsclass->input['_low_act'] OR $ipsclass->input['_low_act'] == 'idx' OR $ipsclass->input['_low_act'] == 'home' )
{
$ipsclass->input['_low_act'] = strtolower($ipsclass->input['act']);
}

//--------------------------------
// Start off the cache array
//--------------------------------

$ipsclass->cache_array = array_merge( $choice[ $ipsclass->input['_low_act'] ][2], array('skin_remap', 'rss_calendar', 'rss_export', 'components', 'banfilters', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats', 'languages') );

//--------------------------------
// Module? Load INIT class
//--------------------------------

if ( ( $ipsclass->input['act'] == 'module' OR $ipsclass->input['act'] == 'component' ) and $ipsclass->input['module'] )
{
$file = ROOT_PATH.'sources/components_init/'. $ipsclass->txt_alphanumerical_clean( $ipsclass->input['module'] ).'.php';

if ( file_exists( $file ) )
{
	require_once( $file );
	$init_class = new component_init();
	$init_class->ipsclass =& $ipsclass;
	$init_class->run_init();
}
}

//===========================================================================
// Get cache...
//===========================================================================

$ipsclass->init_cache_setup();
$ipsclass->init_load_cache( $ipsclass->cache_array );

//--------------------------------
//  Initialize the FUNC
//--------------------------------

$ipsclass->initiate_ipsclass();

//--------------------------------
//  The rest :D
//--------------------------------

$ipsclass->member	 = $ipsclass->sess->authorise();
$ipsclass->lastclick  = $ipsclass->sess->last_click;
$ipsclass->location   = $ipsclass->sess->location;
$ipsclass->session_id = $ipsclass->sess->session_id; // Used in URLs
$ipsclass->my_session = $ipsclass->sess->session_id; // Used in code

//-----------------------------------------
// Cache md5 check
//-----------------------------------------

$ipsclass->md5_check = $ipsclass->return_md5_check();

//--------------------------------
//  Initialize the forums
//--------------------------------

$ipsclass->forums->strip_invisible = 1;
$ipsclass->forums->forums_init();

//--------------------------------
// Load the skin
//--------------------------------

$ipsclass->load_skin();

$ppu = 0;
$tpu = 0;

if( isset($ipsclass->member['view_prefs']) )
{
list($ppu,$tpu) = explode( "&", $ipsclass->member['view_prefs'] );
}

$ipsclass->vars['display_max_topics'] = ($tpu > 0) ? $tpu : $ipsclass->vars['display_max_topics'];
$ipsclass->vars['display_max_posts']  = ($ppu > 0) ? $ppu : $ipsclass->vars['display_max_posts'];

//===========================================================================
//  Set up the session ID stuff
//===========================================================================

if ( $ipsclass->session_type == 'cookie' )
{
$ipsclass->session_id = "";
$ipsclass->base_url   = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?';
}
else
{
$ipsclass->base_url = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?s='.$ipsclass->session_id.'&';
}

$ipsclass->js_base_url = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?s='.$ipsclass->session_id.'&';

//--------------------------------
//  Set up the forum_read cookie
//--------------------------------

$ipsclass->hdl_forum_read_cookie();

//===========================================================================
//  Set up defaults
//===========================================================================

$ipsclass->skin_id = $ipsclass->skin['_setid'];

$ipsclass->vars['img_url']	   = $ipsclass->vars['ipb_img_url'] ? $ipsclass->vars['ipb_img_url'] . 'style_images/' . $ipsclass->skin['_imagedir'] : 'style_images/' . $ipsclass->skin['_imagedir'];
$ipsclass->vars['AVATARS_URL']   = $ipsclass->vars['ipb_img_url'] ? $ipsclass->vars['ipb_img_url'] . 'style_avatars' : 'style_avatars';
$ipsclass->vars['EMOTICONS_URL'] = $ipsclass->vars['ipb_img_url'] ? $ipsclass->vars['ipb_img_url'] . 'style_emoticons/<#EMO_DIR#>' : 'style_emoticons/<#EMO_DIR#>';
$ipsclass->vars['mime_img']	  = $ipsclass->vars['ipb_img_url'] ? $ipsclass->vars['ipb_img_url'] . 'style_images/<#IMG_DIR#>' : 'style_images/<#IMG_DIR#>';

//--------------------------------
//  Set up our language choice
//--------------------------------

if ( !isset($ipsclass->vars['default_language']) OR $ipsclass->vars['default_language'] == "")
{
$ipsclass->vars['default_language'] = 'ru';
}

//--------------------------------
// Did we choose a language?
//--------------------------------

if ( (isset($ipsclass->input['setlanguage']) AND $ipsclass->input['setlanguage']) AND (isset($ipsclass->input['langid']) AND $ipsclass->input['langid']) AND $ipsclass->member['id'] )
{
if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) )
{
	foreach( $ipsclass->cache['languages'] as $data )
	{
		if ( $data['ldir'] == $ipsclass->input['langid'] )
		{
			$ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 'id='.$ipsclass->member['id'] );
			$ipsclass->member['language'] = $data['ldir'];
		}
	}
}
}

$ipsclass->member['udata_avatar'] = $ipsclass->get_avatar( $ipsclass->member['avatar_location'], 1, $ipsclass->member['avatar_size'], $ipsclass->member['avatar_type'], 1 );	
$ipsclass->load_language('lang_global');

//$ipsclass->vars['board_name']

//-------------------------------
// Get avatar and name
//-------------------------------
$ipsclass->member['disable_this_row'] = 1;



$av = $ipsclass->get_avatar_for_head($ipsclass->member['id']);

$ipsclass->member['loginizer'] = null;
if($ipsclass->member['id'] > 0)
{
$ipsclass->member['loginizer'] .= 'Здравствуй: <a href="index.php?showuser='.$ipsclass->member['id'].'" style="color:#eebb13;">'.$av['member_display_name'].'</a>  <a href="'.$ipsclass->base_url.'act=Login&CODE=03&k='.$ipsclass->md5_check.'" title="exit" style="font-size: 90%; color:#eebb13;"><img src="/made_on/menu/logout.png" border="0" alt="Выход" /></a>';	
$ipsclass->member['avatizer'] = '<div style="padding:0;margin:0;border:1px solid #000;">'.$av['avatar'].'</div>';
}
else
{
$ipsclass->member['loginizer'] = '';

$ipsclass->member['avatizer'] = '<br /><br /><i><h1 style="font-size: 15px; color: #eebb13; font-weigth: normal">Аэрография для всех</h1></i><br /><br />
				<i>(<a href="index.php?act=login" style="font-size: 90%; color:#eebb13;">Вход</a> | <a href="index.php?act=reg" style="font-size: 90%; color:#eebb13;">Зарегистрироваться</a>)</i>
				';

}
/*else
{
//guest?
$ipsclass->member['loginizer'] .= 'Hello, <b>'.$av['member_display_name'].'</b>  ';
$ipsclass->member['loginizer'] .= '( <a href="index.php?act=Login&CODE=00" style="color:#ccc;">Log In</a> | <a href="index.php?act=Reg&CODE=00" style="color:#ccc;">Register</a> )<br />';
} */


//echo '<!-- ';
//print_r($ipsclass->vars);
//echo ' -->';

//--------------------------------
// Legacy mode?
//--------------------------------

if ( LEGACY_MODE )
{
$DB	   =& $ipsclass->DB;
$std	  =& $ipsclass;
$ibforums =& $ipsclass;
$forums   =& $ipsclass->forums;
$print	=& $ipsclass->print;
$sess	 =& $ipsclass->sess;

$ipsclass->load_template('skin_global');
$ipsclass->skin_global = $ipsclass->compiled_templates['skin_global'];
}

//===========================================================================
// DECONSTRUCTOR
//===========================================================================

if ( USE_SHUTDOWN and $ipsclass->input['act'] != 'task' )
{
@chdir( ROOT_PATH );
$ROOT_PATH = getcwd();

register_shutdown_function( array( &$ipsclass, 'my_deconstructor') );
}

//===========================================================================
// Force log in / board offline?
//===========================================================================

if ($ipsclass->input['_low_act']   != 'login'  and
$ipsclass->input['_low_act']   != 'reg'	and
$ipsclass->input['_low_act']   != 'xmlout' and
$ipsclass->input['_low_act']   != 'rssout' and
$ipsclass->input['_low_act']   != 'attach' and
$ipsclass->input['_low_act']   != 'task'   and
$ipsclass->input['_low_act']   != 'paysubs' )
{
//-----------------------------------------
// Do we have a display name?
//-----------------------------------------

if ( ! $ipsclass->member['members_display_name'] AND $ipsclass->member['members_created_remote'] )
{
	$pmember = $ipsclass->DB->build_and_exec_query( array( 'select' => '*', 'from' => 'members_partial', 'where' => "partial_member_id=" . $ipsclass->member['id'] ) );

	if ( $pmember['partial_member_id'] )
	{
		$ipsclass->boink_it( $ipsclass->base_url . 'act=reg&CODE=complete_login&mid='.$ipsclass->member['id'].'&key='.$pmember['partial_date'] );
	}
}

//--------------------------------
//  Do we have permission to view
//  the board?
//--------------------------------

if ( $ipsclass->member['g_view_board'] != 1 )
{ 
	$ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_view_board') );
}

//--------------------------------
//  Is the board offline?
//--------------------------------

if ($ipsclass->vars['board_offline'] == 1)
{
	if ($ipsclass->member['g_access_offline'] != 1)
	{
		$ipsclass->vars['no_reg'] = 1;
		$ipsclass->board_offline();
	}
}

//--------------------------------
//  Is log in enforced?
//--------------------------------

if ( (! $ipsclass->member['id']) and ($ipsclass->vars['force_login'] == 1) )
{
	require ROOT_PATH."sources/action_public/login.php";
	$runme = new login();
	$runme->ipsclass =& $ipsclass;
	$runme->auto_run();

}

//--------------------------------
// Show PURCHASE screen?
// Not enforced
//--------------------------------

if ( !isset($ipsclass->member['sub_end']) OR !$ipsclass->member['sub_end'] )
{
	//--------------------------------
	// 1: No enforce, chosen from reg
	//--------------------------------

	if ( ! $ipsclass->vars['subsm_enforce'] and (isset($ipsclass->member['subs_pkg_chosen']) AND $ipsclass->member['subs_pkg_chosen']) )
	{
		$ipsclass->input['act']	 = 'paysubs';
		$ipsclass->input['CODE']	= 'paymentmethod';
		$ipsclass->input['sub']	 = $ipsclass->member['subs_pkg_chosen'];
		$ipsclass->input['nocp']	= 1;
		$ipsclass->input['msgtype'] = 'fromreg';
	}

	//--------------------------------
	// Show PURCHASE screen?
	// Enforced
	//--------------------------------

	if ( $ipsclass->vars['subsm_enforce'] and $ipsclass->member['mgroup'] == $ipsclass->vars['subsm_nopkg_group'] )
	{
		$ipsclass->input['act']	 = 'paysubs';
		$ipsclass->input['nocp']	= 1;
		$ipsclass->input['msgtype'] = 'force';

		if ( $ipsclass->member['subs_pkg_chosen'] )
		{
			$ipsclass->input['CODE']	= 'paymentmethod';
			$ipsclass->input['sub']	 = $ipsclass->member['subs_pkg_chosen'];
		}
	}
}
}

//--------------------------------
//  Get member avatar and write into main member data
//--------------------------------



//===========================================================================
// REQUIRE AND RUN
//===========================================================================				

if ( $ipsclass->input['act'] == 'home' AND $ipsclass->vars['csite_on'] )
{
require ROOT_PATH."sources/action_public/portal.php";
$csite		   =  new portal();
$csite->ipsclass =& $ipsclass;
$csite->auto_run();
}
else if ( $ipsclass->input['act'] == 'module' AND USE_MODULES )
{
require ROOT_PATH."modules/module_loader.php";
$loader		   =  new module_loader();
$loader->ipsclass =& $ipsclass;
$loader->run_loader();
}
else if ( $ipsclass->input['act'] == 'component' )
{
//print_r($ipsclass->input);
//-----------------------------------
// Readed category ?
//-----------------------------------
if($ipsclass->input['autocom'] == 'gallery' && $ipsclass->input['req'] == 'sc' && isset($ipsclass->input['cat']) && $ipsclass->member['id'] > 0)
{
	// get last post in this cat
	$q1 = 'SELECT MAX(last_pic_date) FROM '.SQL_PREFIX.'gallery_albums WHERE `category_id`='.$_GET['cat'];
	$r1 = mysql_query($q1);
	$s1 = mysql_fetch_row($r1);
	$last_post = $s1[0];

	// get views array
	$q = 'SELECT `gallery_views` FROM '.SQL_PREFIX.'members WHERE `id`='.$ipsclass->member['id'];
	$r = mysql_query($q);
	$s = mysql_fetch_row($r);

	if(isset($s[0]) && !empty($s[0]))
	{
		$views = unserialize($s[0]);

		//else sushestvuet predudushaya zapis o prosmotre
		if(array_key_exists($_GET['cat'], $views))
		{
			//esli data otlichaetsya
			if($views[$_GET['cat']]['last_post_in'] != $last_post)
			{
				$views[$_GET['cat']]['last_post_in'] = $last_post;
				$views = serialize($views);
				$q2 = 'UPDATE '.SQL_PREFIX.'members SET `gallery_views`=\''.$views.'\' WHERE `id`='.$ipsclass->member['id'];
				mysql_query($q2);
			}
		}
		else 
		{
			//esli zapisi ne sushestvuet
			$views[$_GET['cat']]['last_post_in'] = $last_post;
				$views = serialize($views);
				$q2 = 'UPDATE '.SQL_PREFIX.'members SET `gallery_views`=\''.$views.'\' WHERE `id`='.$ipsclass->member['id'];
				mysql_query($q2);
		}
	}
	else 
	{
		//esli zapisei net voobshe
		$views = array();
		$views[$_GET['cat']]['last_post_in'] = $last_post;
		$views = serialize($views);
		$q2 = 'UPDATE '.SQL_PREFIX.'members SET `gallery_views`=\''.$views.'\' WHERE `id`='.$ipsclass->member['id'];
		mysql_query($q2);
	}
} //end module read category

$file = ROOT_PATH.'sources/components_public/'. $ipsclass->txt_alphanumerical_clean( $ipsclass->input['module'] ).'.php';

if ( file_exists( $file ) )
{
	require_once( $file );
	$loader		   =  new component_public();
	$loader->ipsclass =& $ipsclass;
	$loader->run_component();
}
else
{
	@header( "Location: ".$ipsclass->base_url );
}
}
else
{	 
// Require and run
$_pre_load = $ipsclass->memory_debug_make_flag();
require( ROOT_PATH."sources/action_public/".$choice[ strtolower($ipsclass->input['act']) ][0].".php" );
$runme = new $choice[ strtolower($ipsclass->input['act']) ][1];
$runme->ipsclass =& $ipsclass;
$ipsclass->memory_debug_add( "CORE: Loaded ".$choice[ strtolower($ipsclass->input['act']) ][0].".php", $_pre_load );
$runme->auto_run();
}





?>

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.