Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Wed, Nov 12, 11:13 AM

in-portal

Index: trunk/kernel/units/visits/visits_tag_processor.php
===================================================================
--- trunk/kernel/units/visits/visits_tag_processor.php (revision 2433)
+++ trunk/kernel/units/visits/visits_tag_processor.php (revision 2434)
@@ -1,108 +1,112 @@
<?php
class VisitsTagProcessor extends kDBTagProcessor {
function UserFound($params)
{
$virtual_users = Array(-1,-2, 0);
$object =& $this->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.');';
}
}
function GetTotalAffiliateVisits($params){
$object_user = &$this->Application->recallObject('u');
$sql='SELECT COUNT(*) FROM '.TABLE_PREFIX.'Visits vis
LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON (vis.AffiliateId = af.AffiliateId)
WHERE af.PortalUserId = '.$object_user->GetDBField('PortalUserId');
return $this->Conn->GetOne($sql);
}
function AffiliateOrderInfo($params){
$object_user = &$this->Application->recallObject('u');
$sql='SELECT COUNT(ord.OrderId) as OrderCount, SUM(AffiliateCommission) as TotalCommission, SUM(SubTotal+ShippingCost+VAT-CouponDiscount) as TotalAmount
FROM '.TABLE_PREFIX.'Orders ord
LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON (vis.AffiliateId = af.AffiliateId)
LEFT JOIN '.TABLE_PREFIX.'Visits vis ON (ord.VisitId = vis.VisitId)
WHERE af.PortalUserId = '.$object_user->GetDBField('PortalUserId').'
GROUP BY af.PortalUserId
';
$info = $this->Conn->GetRow($sql);
$params_info = $this->prepareTagParams($params);
$params_info['name'] = $params_info['render_as'];
+ if (!$info['OrderCount']) $info['OrderCount'] = 0;
+ if (!$info['TotalAmount']) $info['TotalAmount'] = 0;
+ if (!$info['AffiliateCommission']) $info['AffiliateCommission'] = 0;
+
$params_info = array_merge_recursive2($params_info, $info);
$params_info['TotalVisits'] = $this->GetTotalAffiliateVisits($params);
$this->Application->setUnitOption('ord', 'AutoLoad', false);
$order_object = &$this->Application->recallObject('ord.totals');
$order_object->SetDBField('AffiliateCommission', $params_info['TotalCommission']);
$order_object->SetDBField('TotalAmount', $params_info['TotalAmount']);
$fields_to_convert = array('AffiliateCommission', 'TotalAmount');
if( $this->HasParam($params, 'currency') )
{
$iso = $this->GetISO($params['currency']);
foreach($fields_to_convert as $key => $field){
$iso = $this->GetISO($params['currency']);
$original = $order_object->GetDBField($field);
$value = $this->ConvertCurrency($original, $iso);
$order_object->SetDBField($field, $value);
}
$params_info['TotalCommission'] = $this->AddCurrencySymbol($order_object->GetField('AffiliateCommission'), $iso);
$params_info['TotalAmount'] = $this->AddCurrencySymbol($order_object->GetField('TotalAmount'), $iso);
}
return $this->Application->ParseBlock($params_info);
}
function ListVisitors($params){
$o = '';
$params['render_as'] = $params['item_render_as'];
$o_visitors = $this->PrintList2($params);
if ($o_visitors){
$visitors_params = array('name' => $params['header_render_as']);
$o = $this->Application->ParseBlock($visitors_params);
$o .= $o_visitors;
}else {
$visitors_params = array('name' => $params['empty_myvisitors_render_as']);
$o = $this->Application->ParseBlock($visitors_params);
}
return $o;
}
}
?>
\ No newline at end of file
Property changes on: trunk/kernel/units/visits/visits_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.4
\ No newline at end of property
+1.5
\ No newline at end of property
Index: trunk/kernel/units/visits/visits_event_handler.php
===================================================================
--- trunk/kernel/units/visits/visits_event_handler.php (revision 2433)
+++ trunk/kernel/units/visits/visits_event_handler.php (revision 2434)
@@ -1,70 +1,94 @@
<?php
class VisitsEventHandler extends InpDBEventHandler {
/**
* Registers user visit to site
*
* @param kEvent $event
*/
function OnRegisterVisit(&$event)
{
$object =& $event->getObject( Array('skip_autoload'=>true) );
$object->SetDBField('VisitDate_date', time() );
$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() );
$this->Application->SetVar('visits_id', $object->GetID() );
}
}
/**
* Search
*
* @param kEvent $event
*/
function OnSearch(&$event){
parent::OnSearch($event);
}
/**
* Apply any custom changes to list's sql query
*
* @param kEvent $event
* @access protected
* @see OnListBuild
*/
function SetCustomQuery(&$event)
{
$object =& $event->getObject();
$types = $event->getEventParam('types');
if ($types=='myvisitors'){
$user_id = $this->Application->GetVar('u_id');
$object->addFilter('myitems_user1','au.PortalUserId = '.$user_id);
$object->addFilter('myitems_user2','au.PortalUserId >0');
+ //$object->AddGroupByField('VisitDate');
+ $object->AddGroupByField('%1$s.VisitId');
}
if ($types=='myvisitororders'){
$user_id = $this->Application->GetVar('u_id');
$object->addFilter('myitems_orders','ord.OrderId IS NOT NULL');
$object->addFilter('myitems_user1','au.PortalUserId = '.$user_id);
$object->addFilter('myitems_user2','au.PortalUserId >0');
}
}
-
+ /**
+ * Apply some special processing to
+ * object beeing recalled before using
+ * it in other events that call prepareObject
+ *
+ * @param kBase $object
+ * @param kEvent $event
+ * @access protected
+ */
+ function prepareObject(&$object, &$event)
+ {
+ $types = $event->getEventParam('types');
+ if ($types=='myvisitors' || !$types){
+ $object->addCalculatedField('OrderTotalAmountSum', 'SUM(ord.SubTotal+ord.ShippingCost+ord.VAT-ord.CouponDiscount)');
+ $object->addCalculatedField('OrderAffiliateCommissionSum', 'SUM(ord.AffiliateCommission)');
+ $object->addCalculatedField('OrderCountByVisit', 'COUNT(OrderId)');
+ }
+ if (!$types){
+ $object->AddGroupByField('%1$s.VisitId');
+ }
+
+ }
+
}
?>
\ No newline at end of file
Property changes on: trunk/kernel/units/visits/visits_event_handler.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.5
\ No newline at end of property
+1.6
\ No newline at end of property
Index: trunk/kernel/units/visits/visits_config.php
===================================================================
--- trunk/kernel/units/visits/visits_config.php (revision 2433)
+++ trunk/kernel/units/visits/visits_config.php (revision 2434)
@@ -1,93 +1,96 @@
<?php
$config = Array(
'Prefix' => 'visits',
'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'=>'VisitsTagProcessor','file'=>'visits_tag_processor.php','build_event'=>'OnBuild'),
'AutoLoad' => true,
'QueryString' => Array(
1 => 'id',
2 => 'Page',
3 => 'event',
4 => 'mode',
),
'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',
'OrderTotalAmount' => '(ord.SubTotal+ord.ShippingCost+ord.VAT-ord.CouponDiscount)',
'OrderAffiliateCommission' => 'ord.AffiliateCommission',
+ 'OrderNumber' => 'CONCAT(LPAD(Number,6,0),\'-\',LPAD(SubNumber,3,0) )',
),
),
'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.'Orders ord ON %1$s.VisitId = ord.VisitId
- '),
+ LEFT JOIN '.TABLE_PREFIX.'Orders ord ON %1$s.VisitId = ord.VisitId'
+ ),
'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.'Orders ord ON %1$s.VisitId = ord.VisitId
'),
'ListSortings' => Array(
'' => Array(
'Sorting' => Array('VisitDate' => 'desc'),
)
),
'Fields' => Array(
'VisitId' => Array(),
'VisitDate' => Array('type' => 'int', 'formatter'=>'kDateFormatter', 'filter_type'=>'range', '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','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),
),
'VirtualFields' => Array(
'UserName' => Array('type'=>'string'),
'AffiliateUser' => Array('type'=>'string'),
'AffiliatePortalUserId' => Array('type'=>'int'),
'OrderTotalAmount' => Array('type' => 'float', 'formatter'=>'kFormatter', 'format'=>'%01.2f', 'not_null' => '1','default' => '0.00'),
+ 'OrderTotalAmountSum' => Array('type' => 'float', 'formatter'=>'kFormatter', 'format'=>'%01.2f', 'not_null' => '1','default' => '0.00'),
'OrderAffiliateCommission' => Array('type' => 'numeric', 'formatter'=>'kFormatter','format'=>'%.02f', 'not_null' => '1','default' => '0.0000'),
+ 'OrderAffiliateCommissionSum' => Array('type' => 'numeric', 'formatter'=>'kFormatter','format'=>'%.02f', 'not_null' => '1','default' => '0.0000'),
),
'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(
'VisitDate' => Array( 'title'=>'la_col_VisitDate', 'data_block' => 'grid_checkbox_td' ),
'IPAddress' => Array( 'title'=>'la_col_IPAddress' ),
'Referer' => Array( 'title'=>'la_col_Referer', 'data_block' => 'grid_referer_td' ),
'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'),
- 'OrderTotalAmount' => Array( 'title' => 'la_col_OrderTotal'),
- 'OrderAffiliateCommission' => Array( 'title' => 'la_col_Commission'),
+ 'OrderTotalAmountSum' => Array( 'title' => 'la_col_OrderTotal'),
+ 'OrderAffiliateCommissionSum' => Array( 'title' => 'la_col_Commission'),
),
),
),
);
?>
\ No newline at end of file
Property changes on: trunk/kernel/units/visits/visits_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.10
\ No newline at end of property
+1.11
\ No newline at end of property
Index: trunk/core/units/visits/visits_tag_processor.php
===================================================================
--- trunk/core/units/visits/visits_tag_processor.php (revision 2433)
+++ trunk/core/units/visits/visits_tag_processor.php (revision 2434)
@@ -1,108 +1,112 @@
<?php
class VisitsTagProcessor extends kDBTagProcessor {
function UserFound($params)
{
$virtual_users = Array(-1,-2, 0);
$object =& $this->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.');';
}
}
function GetTotalAffiliateVisits($params){
$object_user = &$this->Application->recallObject('u');
$sql='SELECT COUNT(*) FROM '.TABLE_PREFIX.'Visits vis
LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON (vis.AffiliateId = af.AffiliateId)
WHERE af.PortalUserId = '.$object_user->GetDBField('PortalUserId');
return $this->Conn->GetOne($sql);
}
function AffiliateOrderInfo($params){
$object_user = &$this->Application->recallObject('u');
$sql='SELECT COUNT(ord.OrderId) as OrderCount, SUM(AffiliateCommission) as TotalCommission, SUM(SubTotal+ShippingCost+VAT-CouponDiscount) as TotalAmount
FROM '.TABLE_PREFIX.'Orders ord
LEFT JOIN '.TABLE_PREFIX.'Affiliates af ON (vis.AffiliateId = af.AffiliateId)
LEFT JOIN '.TABLE_PREFIX.'Visits vis ON (ord.VisitId = vis.VisitId)
WHERE af.PortalUserId = '.$object_user->GetDBField('PortalUserId').'
GROUP BY af.PortalUserId
';
$info = $this->Conn->GetRow($sql);
$params_info = $this->prepareTagParams($params);
$params_info['name'] = $params_info['render_as'];
+ if (!$info['OrderCount']) $info['OrderCount'] = 0;
+ if (!$info['TotalAmount']) $info['TotalAmount'] = 0;
+ if (!$info['AffiliateCommission']) $info['AffiliateCommission'] = 0;
+
$params_info = array_merge_recursive2($params_info, $info);
$params_info['TotalVisits'] = $this->GetTotalAffiliateVisits($params);
$this->Application->setUnitOption('ord', 'AutoLoad', false);
$order_object = &$this->Application->recallObject('ord.totals');
$order_object->SetDBField('AffiliateCommission', $params_info['TotalCommission']);
$order_object->SetDBField('TotalAmount', $params_info['TotalAmount']);
$fields_to_convert = array('AffiliateCommission', 'TotalAmount');
if( $this->HasParam($params, 'currency') )
{
$iso = $this->GetISO($params['currency']);
foreach($fields_to_convert as $key => $field){
$iso = $this->GetISO($params['currency']);
$original = $order_object->GetDBField($field);
$value = $this->ConvertCurrency($original, $iso);
$order_object->SetDBField($field, $value);
}
$params_info['TotalCommission'] = $this->AddCurrencySymbol($order_object->GetField('AffiliateCommission'), $iso);
$params_info['TotalAmount'] = $this->AddCurrencySymbol($order_object->GetField('TotalAmount'), $iso);
}
return $this->Application->ParseBlock($params_info);
}
function ListVisitors($params){
$o = '';
$params['render_as'] = $params['item_render_as'];
$o_visitors = $this->PrintList2($params);
if ($o_visitors){
$visitors_params = array('name' => $params['header_render_as']);
$o = $this->Application->ParseBlock($visitors_params);
$o .= $o_visitors;
}else {
$visitors_params = array('name' => $params['empty_myvisitors_render_as']);
$o = $this->Application->ParseBlock($visitors_params);
}
return $o;
}
}
?>
\ No newline at end of file
Property changes on: trunk/core/units/visits/visits_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.4
\ No newline at end of property
+1.5
\ No newline at end of property
Index: trunk/core/units/visits/visits_event_handler.php
===================================================================
--- trunk/core/units/visits/visits_event_handler.php (revision 2433)
+++ trunk/core/units/visits/visits_event_handler.php (revision 2434)
@@ -1,70 +1,94 @@
<?php
class VisitsEventHandler extends InpDBEventHandler {
/**
* Registers user visit to site
*
* @param kEvent $event
*/
function OnRegisterVisit(&$event)
{
$object =& $event->getObject( Array('skip_autoload'=>true) );
$object->SetDBField('VisitDate_date', time() );
$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() );
$this->Application->SetVar('visits_id', $object->GetID() );
}
}
/**
* Search
*
* @param kEvent $event
*/
function OnSearch(&$event){
parent::OnSearch($event);
}
/**
* Apply any custom changes to list's sql query
*
* @param kEvent $event
* @access protected
* @see OnListBuild
*/
function SetCustomQuery(&$event)
{
$object =& $event->getObject();
$types = $event->getEventParam('types');
if ($types=='myvisitors'){
$user_id = $this->Application->GetVar('u_id');
$object->addFilter('myitems_user1','au.PortalUserId = '.$user_id);
$object->addFilter('myitems_user2','au.PortalUserId >0');
+ //$object->AddGroupByField('VisitDate');
+ $object->AddGroupByField('%1$s.VisitId');
}
if ($types=='myvisitororders'){
$user_id = $this->Application->GetVar('u_id');
$object->addFilter('myitems_orders','ord.OrderId IS NOT NULL');
$object->addFilter('myitems_user1','au.PortalUserId = '.$user_id);
$object->addFilter('myitems_user2','au.PortalUserId >0');
}
}
-
+ /**
+ * Apply some special processing to
+ * object beeing recalled before using
+ * it in other events that call prepareObject
+ *
+ * @param kBase $object
+ * @param kEvent $event
+ * @access protected
+ */
+ function prepareObject(&$object, &$event)
+ {
+ $types = $event->getEventParam('types');
+ if ($types=='myvisitors' || !$types){
+ $object->addCalculatedField('OrderTotalAmountSum', 'SUM(ord.SubTotal+ord.ShippingCost+ord.VAT-ord.CouponDiscount)');
+ $object->addCalculatedField('OrderAffiliateCommissionSum', 'SUM(ord.AffiliateCommission)');
+ $object->addCalculatedField('OrderCountByVisit', 'COUNT(OrderId)');
+ }
+ if (!$types){
+ $object->AddGroupByField('%1$s.VisitId');
+ }
+
+ }
+
}
?>
\ No newline at end of file
Property changes on: trunk/core/units/visits/visits_event_handler.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.5
\ No newline at end of property
+1.6
\ No newline at end of property
Index: trunk/core/units/visits/visits_config.php
===================================================================
--- trunk/core/units/visits/visits_config.php (revision 2433)
+++ trunk/core/units/visits/visits_config.php (revision 2434)
@@ -1,93 +1,96 @@
<?php
$config = Array(
'Prefix' => 'visits',
'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'=>'VisitsTagProcessor','file'=>'visits_tag_processor.php','build_event'=>'OnBuild'),
'AutoLoad' => true,
'QueryString' => Array(
1 => 'id',
2 => 'Page',
3 => 'event',
4 => 'mode',
),
'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',
'OrderTotalAmount' => '(ord.SubTotal+ord.ShippingCost+ord.VAT-ord.CouponDiscount)',
'OrderAffiliateCommission' => 'ord.AffiliateCommission',
+ 'OrderNumber' => 'CONCAT(LPAD(Number,6,0),\'-\',LPAD(SubNumber,3,0) )',
),
),
'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.'Orders ord ON %1$s.VisitId = ord.VisitId
- '),
+ LEFT JOIN '.TABLE_PREFIX.'Orders ord ON %1$s.VisitId = ord.VisitId'
+ ),
'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.'Orders ord ON %1$s.VisitId = ord.VisitId
'),
'ListSortings' => Array(
'' => Array(
'Sorting' => Array('VisitDate' => 'desc'),
)
),
'Fields' => Array(
'VisitId' => Array(),
'VisitDate' => Array('type' => 'int', 'formatter'=>'kDateFormatter', 'filter_type'=>'range', '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','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),
),
'VirtualFields' => Array(
'UserName' => Array('type'=>'string'),
'AffiliateUser' => Array('type'=>'string'),
'AffiliatePortalUserId' => Array('type'=>'int'),
'OrderTotalAmount' => Array('type' => 'float', 'formatter'=>'kFormatter', 'format'=>'%01.2f', 'not_null' => '1','default' => '0.00'),
+ 'OrderTotalAmountSum' => Array('type' => 'float', 'formatter'=>'kFormatter', 'format'=>'%01.2f', 'not_null' => '1','default' => '0.00'),
'OrderAffiliateCommission' => Array('type' => 'numeric', 'formatter'=>'kFormatter','format'=>'%.02f', 'not_null' => '1','default' => '0.0000'),
+ 'OrderAffiliateCommissionSum' => Array('type' => 'numeric', 'formatter'=>'kFormatter','format'=>'%.02f', 'not_null' => '1','default' => '0.0000'),
),
'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(
'VisitDate' => Array( 'title'=>'la_col_VisitDate', 'data_block' => 'grid_checkbox_td' ),
'IPAddress' => Array( 'title'=>'la_col_IPAddress' ),
'Referer' => Array( 'title'=>'la_col_Referer', 'data_block' => 'grid_referer_td' ),
'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'),
- 'OrderTotalAmount' => Array( 'title' => 'la_col_OrderTotal'),
- 'OrderAffiliateCommission' => Array( 'title' => 'la_col_Commission'),
+ 'OrderTotalAmountSum' => Array( 'title' => 'la_col_OrderTotal'),
+ 'OrderAffiliateCommissionSum' => Array( 'title' => 'la_col_Commission'),
),
),
),
);
?>
\ No newline at end of file
Property changes on: trunk/core/units/visits/visits_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.10
\ No newline at end of property
+1.11
\ No newline at end of property

Event Timeline