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:
2011-01-23 14:15:30 +00:00
parent 61ac29b2de
commit 915cabdf97
171 changed files with 2822 additions and 2650 deletions

View File

@@ -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;
}