Index: trunk/kernel/admin_templates/visits/visits_list.tpl
===================================================================
diff -u -N
--- trunk/kernel/admin_templates/visits/visits_list.tpl (revision 0)
+++ trunk/kernel/admin_templates/visits/visits_list.tpl (revision 2388)
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " title="">
+
+
+
+ |
+
+
+
+
+
+
+
\ No newline at end of file
Index: trunk/core/units/visits/visits_config.php
===================================================================
diff -u -N -r2385 -r2388
--- trunk/core/units/visits/visits_config.php (.../visits_config.php) (revision 2385)
+++ trunk/core/units/visits/visits_config.php (.../visits_config.php) (revision 2388)
@@ -5,7 +5,7 @@
'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
'EventHandlerClass' => Array('class'=>'VisitsEventHandler','file'=>'visits_event_handler.php','build_event'=>'OnBuild'),
- 'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'),
+ 'TagProcessorClass' => Array('class'=>'VisitsTagProcessor','file'=>'visits_tag_processor.php','build_event'=>'OnBuild'),
'AutoLoad' => true,
'QueryString' => Array(
@@ -17,20 +17,33 @@
'IDField' => 'VisitId',
'TableName' => TABLE_PREFIX.'Visits',
-
+ 'TitlePresets' => Array(
+ 'default' => Array( ),
+ 'visits_list' => Array( 'prefixes' => Array('visits_List'),
+ 'format' => "!la_title_Visits! (#visits_recordcount#)",
+ ),
+ ),
'CalculatedFields' => Array(
'' => 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'
),
),
'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.'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
+ '),
'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.'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
+ '),
'ListSortings' => Array(
'' => Array(
@@ -43,16 +56,29 @@
'VisitDate' => Array('type' => 'int', 'formatter'=>'kDateFormatter', 'not_null' => '1','default' => '0'),
'Referer' => Array('type' => 'string','not_null' => '1','default' => ''),
'IPAddress' => Array('type' => 'string','not_null' => '1','default' => ''),
- 'AffiliateId' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ 'AffiliateId' => Array('type'=>'int','formatter'=>'kLEFTFormatter','options'=>Array(0=>'lu_none'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'Affiliates af LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = af.PortalUserId WHERE `%s` = \'%s\'','left_key_field'=>'AffiliateId','left_title_field'=>'Login','not_null'=>1,'default'=>0),
'PortalUserId' => Array('type' => 'int','not_null' => '1','default' => -2),
'OrderId' => Array('type' => 'int','not_null' => '1','default' => '0'),
),
'VirtualFields' => Array(
- 'Username' => Array('type'=>'string'),
+ 'UserName' => Array('type'=>'string'),
+ 'AffiliateUser' => Array('type'=>'string'),
+ 'AffiliatePortalUserId' => Array('type'=>'int'),
),
- 'Grids' => Array(),
+ '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' ),
+ 'IPAddress' => Array( 'title'=>'la_col_IPAddress' ),
+ '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/admin/include/navmenu.php
===================================================================
diff -u -N -r2082 -r2388
--- trunk/kernel/admin/include/navmenu.php (.../navmenu.php) (revision 2082)
+++ trunk/kernel/admin/include/navmenu.php (.../navmenu.php) (revision 2388)
@@ -402,5 +402,10 @@
"",
$admin."/icons/icon46_struct.gif", $admin."/icons/icon24_navigate.gif",
NULL, null, null, null, 1, '', 1, 0, 1);
+
+$objSections->AddSection("in-portal:visits","la_tab_Visits","la_title_Visits",$admin."/index4.php","kernel4:visits/visits_list",
+ $module_images."/icons/icon46_visits.gif",$module_images."/icons/icon24_visits.gif",
+ NULL,"in-portal:reports",NULL,NULL,0,"",1,NULL,NULL,NULL,$module_images."/icons/icon46_list_visits.gif");
+
?>
Index: trunk/kernel/units/visits/visits_config.php
===================================================================
diff -u -N -r2385 -r2388
--- trunk/kernel/units/visits/visits_config.php (.../visits_config.php) (revision 2385)
+++ trunk/kernel/units/visits/visits_config.php (.../visits_config.php) (revision 2388)
@@ -5,7 +5,7 @@
'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
'EventHandlerClass' => Array('class'=>'VisitsEventHandler','file'=>'visits_event_handler.php','build_event'=>'OnBuild'),
- 'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'),
+ 'TagProcessorClass' => Array('class'=>'VisitsTagProcessor','file'=>'visits_tag_processor.php','build_event'=>'OnBuild'),
'AutoLoad' => true,
'QueryString' => Array(
@@ -17,20 +17,33 @@
'IDField' => 'VisitId',
'TableName' => TABLE_PREFIX.'Visits',
-
+ 'TitlePresets' => Array(
+ 'default' => Array( ),
+ 'visits_list' => Array( 'prefixes' => Array('visits_List'),
+ 'format' => "!la_title_Visits! (#visits_recordcount#)",
+ ),
+ ),
'CalculatedFields' => Array(
'' => 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'
),
),
'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.'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
+ '),
'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.'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
+ '),
'ListSortings' => Array(
'' => Array(
@@ -43,16 +56,29 @@
'VisitDate' => Array('type' => 'int', 'formatter'=>'kDateFormatter', 'not_null' => '1','default' => '0'),
'Referer' => Array('type' => 'string','not_null' => '1','default' => ''),
'IPAddress' => Array('type' => 'string','not_null' => '1','default' => ''),
- 'AffiliateId' => Array('type' => 'int','not_null' => '1','default' => '0'),
+ 'AffiliateId' => Array('type'=>'int','formatter'=>'kLEFTFormatter','options'=>Array(0=>'lu_none'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'Affiliates af LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = af.PortalUserId WHERE `%s` = \'%s\'','left_key_field'=>'AffiliateId','left_title_field'=>'Login','not_null'=>1,'default'=>0),
'PortalUserId' => Array('type' => 'int','not_null' => '1','default' => -2),
'OrderId' => Array('type' => 'int','not_null' => '1','default' => '0'),
),
'VirtualFields' => Array(
- 'Username' => Array('type'=>'string'),
+ 'UserName' => Array('type'=>'string'),
+ 'AffiliateUser' => Array('type'=>'string'),
+ 'AffiliatePortalUserId' => Array('type'=>'int'),
),
- 'Grids' => Array(),
+ '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' ),
+ 'IPAddress' => Array( 'title'=>'la_col_IPAddress' ),
+ '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
--- trunk/kernel/units/visits/visits_tag_processor.php (revision 0)
+++ trunk/kernel/units/visits/visits_tag_processor.php (revision 2388)
@@ -0,0 +1,25 @@
+Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params );
+ return !in_array( $object->GetDBField( $params['user_field'] ) , $virtual_users );
+ }
+
+
+ function UserLink($params)
+ {
+ $object =& $this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params );
+ $user_id = $object->GetDBField( $params['user_field'] );
+ if($user_id)
+ {
+ //return $this->Application->HREF('in-commerce/users/users_edit_general','', Array('u_id' => $user_id) );
+ $resource_id = $this->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
--- trunk/core/units/visits/visits_tag_processor.php (revision 0)
+++ trunk/core/units/visits/visits_tag_processor.php (revision 2388)
@@ -0,0 +1,25 @@
+Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params );
+ return !in_array( $object->GetDBField( $params['user_field'] ) , $virtual_users );
+ }
+
+
+ function UserLink($params)
+ {
+ $object =& $this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params );
+ $user_id = $object->GetDBField( $params['user_field'] );
+ if($user_id)
+ {
+ //return $this->Application->HREF('in-commerce/users/users_edit_general','', Array('u_id' => $user_id) );
+ $resource_id = $this->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/admin_templates/logs/visits/visits_list.tpl
===================================================================
diff -u -N
--- trunk/core/admin_templates/logs/visits/visits_list.tpl (revision 0)
+++ trunk/core/admin_templates/logs/visits/visits_list.tpl (revision 2388)
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " title="">
+
+
+
+ |
+
+
+
+
+
+
+
\ No newline at end of file