changed: added Cur structure
we have there two pointers: Request * request; Session * session; these are the current request and the current session the session GC was moved to SessionManager (was in SessionContainer) git-svn-id: svn://ttmath.org/publicrep/winix/trunk@708 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -42,13 +42,13 @@ long current_item_id;
|
||||
|
||||
|
||||
|
||||
void CalcItemId(Request * request)
|
||||
void CalcItemId(Cur * cur)
|
||||
{
|
||||
if( request->is_item )
|
||||
current_item_id = request->item.id;
|
||||
if( cur->request->is_item )
|
||||
current_item_id = cur->request->item.id;
|
||||
else
|
||||
if( !request->dir_tab.empty() )
|
||||
current_item_id = request->dir_tab.back()->id;
|
||||
if( !cur->request->dir_tab.empty() )
|
||||
current_item_id = cur->request->dir_tab.back()->id;
|
||||
else
|
||||
current_item_id = -1;
|
||||
}
|
||||
@@ -59,7 +59,7 @@ void CalcItemId(Request * request)
|
||||
|
||||
void UpdateStats(PluginInfo & info, Stats::ItemStats & item_stats)
|
||||
{
|
||||
bot.SetBrowserName(info.request->env_http_user_agent);
|
||||
bot.SetBrowserName(info.cur->request->env_http_user_agent);
|
||||
|
||||
stats.global_all += 1;
|
||||
item_stats.all += 1;
|
||||
@@ -89,13 +89,13 @@ void ContentMake(PluginInfo & info)
|
||||
{
|
||||
StatsSession * stats_session = 0;
|
||||
|
||||
CalcItemId(info.request);
|
||||
CalcItemId(info.cur);
|
||||
|
||||
if( current_item_id == - 1 || !info.plugin_data_base )
|
||||
return;
|
||||
|
||||
stats_session = reinterpret_cast<StatsSession*>(info.plugin_data_base);
|
||||
stats_session->nostat = info.request->IsParam(nostat_param);
|
||||
stats_session->nostat = info.cur->request->IsParam(nostat_param);
|
||||
|
||||
if( stats_session->nostat )
|
||||
return;
|
||||
@@ -123,9 +123,9 @@ StatsSession * stats_session = 0;
|
||||
void SessionCreated(PluginInfo & info)
|
||||
{
|
||||
StatsSession * d = new StatsSession();
|
||||
info.request->session->plugin_data.Assign(d);
|
||||
info.cur->session->plugin_data.Assign(d);
|
||||
|
||||
if( !info.request->IsParam(nostat_param) )
|
||||
if( !info.cur->request->IsParam(nostat_param) )
|
||||
{
|
||||
log << log4 << "Stats: created stats plugin data"
|
||||
<< ", plugin id: " << info.plugin_id
|
||||
@@ -141,7 +141,8 @@ void RemoveSession(PluginInfo & info)
|
||||
{
|
||||
// temporarily for debug
|
||||
// sometimes the pointer is null here
|
||||
log << log1 << "Stats: why the info.plugin_data_base is zero? !!!!" << logend;
|
||||
log << log1 << "Stats: why the info.plugin_data_base is zero? !!!!, ses_id: " << info.cur->session->id << logend;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user