Index: trunk/kernel/include/usersession.php =================================================================== diff -u -N -r2385 -r2392 --- trunk/kernel/include/usersession.php (.../usersession.php) (revision 2385) +++ trunk/kernel/include/usersession.php (.../usersession.php) (revision 2392) @@ -512,14 +512,9 @@ $kSession = $app->recallObject('Session'); $kSession->SetField('GroupList', $extra_groups); $app->StoreVar('UserGroups', $this->Get('GroupList') ); - - $sql = 'UPDATE '.TABLE_PREFIX.'Visits SET PortalUserId = %s WHERE VisitId = %s'; - $app->DB->Query( sprintf($sql, $this->Get('PortalUserId'), $app->RecallVar('visit_id') ) ); + $app->setVisitField('PortalUserId', $this->Get('PortalUserId') ); } - - - $this->Set('LastAccessed', date('U') ); $this_login = $this->GetPersistantVariable("ThisLogin"); $this->SetPersistantVariable("LastLogin", $this_login); Index: trunk/kernel/units/visits/visits_event_handler.php =================================================================== diff -u -N -r2385 -r2392 --- trunk/kernel/units/visits/visits_event_handler.php (.../visits_event_handler.php) (revision 2385) +++ trunk/kernel/units/visits/visits_event_handler.php (.../visits_event_handler.php) (revision 2392) @@ -14,7 +14,11 @@ $object->SetDBField('VisitDate_time', time() ); $object->SetDBField('Referer', getArrayValue($_SERVER, 'HTTP_REFERER') ); $object->SetDBField('IPAddress', $_SERVER['REMOTE_ADDR'] ); - if( $object->Create() ) $this->Application->StoreVar('visit_id', $object->GetID() ); + if( $object->Create() ) + { + $this->Application->StoreVar('visit_id', $object->GetID() ); + $this->Application->SetVar('visits_id', $object->GetID() ); + } } } Index: trunk/core/kernel/application.php =================================================================== diff -u -N -r2368 -r2392 --- trunk/core/kernel/application.php (.../application.php) (revision 2368) +++ trunk/core/kernel/application.php (.../application.php) (revision 2392) @@ -158,6 +158,8 @@ if( !$this->RecallVar('curr_iso') ) $this->StoreVar('curr_iso', $this->GetPrimaryCurrency() ); + $this->SetVar('visits_id', $this->RecallVar('visit_id') ); + $this->ValidateLogin(); // TODO: write that method if( $this->isDebugMode() ) @@ -1232,6 +1234,19 @@ return 0; } + /** + * Set's any field of current visit + * + * @param string $field + * @param mixed $value + */ + function setVisitField($field, $value) + { + $visit =& $this->recallObject('visits'); + $visit->SetDBField($field, $value); + $visit->Update(); + } + } ?> \ No newline at end of file Index: trunk/kernel/units/users/users_event_handler.php =================================================================== diff -u -N -r2385 -r2392 --- trunk/kernel/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2385) +++ trunk/kernel/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2392) @@ -62,7 +62,7 @@ $session->SetField('PortalUserId', $user_id); $this->Application->SetVar('u_id', $user_id); $this->Application->StoreVar('user_id', $user_id); - $this->setVisitUser($user_id); + $this->Application->setVisitField('PortalUserId', $user_id); } else { @@ -86,22 +86,6 @@ } } - /** - * Set's new user for current visit - * - * @param int $user_id - */ - function setVisitUser($user_id) - { - $visit =& $this->Application->recallObject('visits', null, Array('skip_autoload'=>true) ); - $visit->Load( $this->Application->RecallVar('visit_id') ); - if( $visit->isLoaded() ) - { - $visit->SetDBField('PortalUserId', $user_id); - $visit->Update(); - } - } - function OnLogout(&$event) { $session =& $this->Application->recallObject('Session'); Index: trunk/core/units/visits/visits_event_handler.php =================================================================== diff -u -N -r2385 -r2392 --- trunk/core/units/visits/visits_event_handler.php (.../visits_event_handler.php) (revision 2385) +++ trunk/core/units/visits/visits_event_handler.php (.../visits_event_handler.php) (revision 2392) @@ -14,7 +14,11 @@ $object->SetDBField('VisitDate_time', time() ); $object->SetDBField('Referer', getArrayValue($_SERVER, 'HTTP_REFERER') ); $object->SetDBField('IPAddress', $_SERVER['REMOTE_ADDR'] ); - if( $object->Create() ) $this->Application->StoreVar('visit_id', $object->GetID() ); + if( $object->Create() ) + { + $this->Application->StoreVar('visit_id', $object->GetID() ); + $this->Application->SetVar('visits_id', $object->GetID() ); + } } } Index: trunk/core/units/users/users_event_handler.php =================================================================== diff -u -N -r2385 -r2392 --- trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2385) +++ trunk/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 2392) @@ -62,7 +62,7 @@ $session->SetField('PortalUserId', $user_id); $this->Application->SetVar('u_id', $user_id); $this->Application->StoreVar('user_id', $user_id); - $this->setVisitUser($user_id); + $this->Application->setVisitField('PortalUserId', $user_id); } else { @@ -86,22 +86,6 @@ } } - /** - * Set's new user for current visit - * - * @param int $user_id - */ - function setVisitUser($user_id) - { - $visit =& $this->Application->recallObject('visits', null, Array('skip_autoload'=>true) ); - $visit->Load( $this->Application->RecallVar('visit_id') ); - if( $visit->isLoaded() ) - { - $visit->SetDBField('PortalUserId', $user_id); - $visit->Update(); - } - } - function OnLogout(&$event) { $session =& $this->Application->recallObject('Session'); Index: trunk/core/units/visits/visits_config.php =================================================================== diff -u -N -r2388 -r2392 --- trunk/core/units/visits/visits_config.php (.../visits_config.php) (revision 2388) +++ trunk/core/units/visits/visits_config.php (.../visits_config.php) (revision 2392) @@ -27,23 +27,21 @@ '' => Array ( 'UserName' => 'IF( ISNULL(u.Login), IF (%1$s.PortalUserId = -1, \'root\', IF (%1$s.PortalUserId = -2, \'Guest\', \'n/a\')), u.Login)', 'AffiliateUser' => 'IF( LENGTH(au.Login),au.Login,\'!la_None!\')', - 'AffiliatePortalUserId' => 'af.PortalUserId' + 'AffiliatePortalUserId' => 'af.PortalUserId', ), ), 'ListSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.PortalUserId = u.PortalUserId LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON %1$s.AffiliateId = af.AffiliateId - LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId - '), + LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId'), 'ItemSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.PortalUserId = u.PortalUserId LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON %1$s.AffiliateId = af.AffiliateId - LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId - '), + LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId'), 'ListSortings' => Array( '' => Array( @@ -62,18 +60,18 @@ ), 'VirtualFields' => Array( - 'UserName' => Array('type'=>'string'), - 'AffiliateUser' => Array('type'=>'string'), - 'AffiliatePortalUserId' => Array('type'=>'int'), + 'UserName' => Array('type'=>'string'), + 'AffiliateUser' => Array('type'=>'string'), + 'AffiliatePortalUserId' => Array('type'=>'int'), ), 'Grids' => Array( 'Default' => Array( 'Icons' => Array('default'=>'icon16_custom.gif'), // icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used 'Fields' => Array( - 'VisitId' => Array( 'title'=>'la_col_VisitId', 'data_block' => 'grid_checkbox_td_no_icon'), - 'VisitDate' => Array( 'title'=>'la_col_VisitDate' ), + 'VisitDate' => Array( 'title'=>'la_col_VisitDate', 'data_block' => 'grid_checkbox_td' ), 'IPAddress' => Array( 'title'=>'la_col_IPAddress' ), +// 'Referer' => Array( 'title'=>'la_col_Referer' ), 'UserName' => Array('title' => 'la_col_Username', 'data_block' => 'grid_userlink_td', 'user_field' => 'PortalUserId'), 'AffiliateUser' => Array( 'title' => 'la_col_AffiliateUser', 'data_block' => 'grid_userlink_td', 'user_field' => 'AffiliatePortalUserId'), ), Index: trunk/kernel/units/visits/visits_config.php =================================================================== diff -u -N -r2388 -r2392 --- trunk/kernel/units/visits/visits_config.php (.../visits_config.php) (revision 2388) +++ trunk/kernel/units/visits/visits_config.php (.../visits_config.php) (revision 2392) @@ -27,23 +27,21 @@ '' => Array ( 'UserName' => 'IF( ISNULL(u.Login), IF (%1$s.PortalUserId = -1, \'root\', IF (%1$s.PortalUserId = -2, \'Guest\', \'n/a\')), u.Login)', 'AffiliateUser' => 'IF( LENGTH(au.Login),au.Login,\'!la_None!\')', - 'AffiliatePortalUserId' => 'af.PortalUserId' + 'AffiliatePortalUserId' => 'af.PortalUserId', ), ), 'ListSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.PortalUserId = u.PortalUserId LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON %1$s.AffiliateId = af.AffiliateId - LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId - '), + LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId'), 'ItemSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.PortalUserId = u.PortalUserId LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON %1$s.AffiliateId = af.AffiliateId - LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId - '), + LEFT JOIN '.TABLE_PREFIX.'PortalUser au ON af.PortalUserId = au.PortalUserId'), 'ListSortings' => Array( '' => Array( @@ -62,18 +60,18 @@ ), 'VirtualFields' => Array( - 'UserName' => Array('type'=>'string'), - 'AffiliateUser' => Array('type'=>'string'), - 'AffiliatePortalUserId' => Array('type'=>'int'), + 'UserName' => Array('type'=>'string'), + 'AffiliateUser' => Array('type'=>'string'), + 'AffiliatePortalUserId' => Array('type'=>'int'), ), 'Grids' => Array( 'Default' => Array( 'Icons' => Array('default'=>'icon16_custom.gif'), // icons for each StatusField values, if no matches or no statusfield selected, then "default" icon is used 'Fields' => Array( - 'VisitId' => Array( 'title'=>'la_col_VisitId', 'data_block' => 'grid_checkbox_td_no_icon'), - 'VisitDate' => Array( 'title'=>'la_col_VisitDate' ), + 'VisitDate' => Array( 'title'=>'la_col_VisitDate', 'data_block' => 'grid_checkbox_td' ), 'IPAddress' => Array( 'title'=>'la_col_IPAddress' ), +// 'Referer' => Array( 'title'=>'la_col_Referer' ), 'UserName' => Array('title' => 'la_col_Username', 'data_block' => 'grid_userlink_td', 'user_field' => 'PortalUserId'), 'AffiliateUser' => Array( 'title' => 'la_col_AffiliateUser', 'data_block' => 'grid_userlink_td', 'user_field' => 'AffiliatePortalUserId'), ), Index: trunk/kernel/units/visits/visits_tag_processor.php =================================================================== diff -u -N -r2388 -r2392 --- trunk/kernel/units/visits/visits_tag_processor.php (.../visits_tag_processor.php) (revision 2388) +++ trunk/kernel/units/visits/visits_tag_processor.php (.../visits_tag_processor.php) (revision 2392) @@ -1,6 +1,7 @@ Conn->GetOne('SELECT ResourceId FROM '.TABLE_PREFIX.'PortalUser WHERE PortalUserId = '.$user_id); return 'javascript:OpenUserEdit('.$resource_id.');'; } - } + } } ?> \ No newline at end of file Index: trunk/core/units/visits/visits_tag_processor.php =================================================================== diff -u -N -r2388 -r2392 --- trunk/core/units/visits/visits_tag_processor.php (.../visits_tag_processor.php) (revision 2388) +++ trunk/core/units/visits/visits_tag_processor.php (.../visits_tag_processor.php) (revision 2392) @@ -1,6 +1,7 @@ Conn->GetOne('SELECT ResourceId FROM '.TABLE_PREFIX.'PortalUser WHERE PortalUserId = '.$user_id); return 'javascript:OpenUserEdit('.$resource_id.');'; } - } + } } ?> \ No newline at end of file