'visits', 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), 'ListClass' => Array('class'=>'VisitsList','file'=>'visits_list.php','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', ), 'Hooks' => Array( Array( 'Mode' => hBEFORE, 'Conditional' => false, 'HookToPrefix' => 'adm', 'HookToSpecial' => '', 'HookToEvent' => Array( 'OnStartup' ), 'DoPrefix' => '', 'DoSpecial' => '', 'DoEvent' => 'OnRegisterVisit', ), Array( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'u', 'HookToSpecial' => '*', 'HookToEvent' => Array( 'OnLogin' ), 'DoPrefix' => '', 'DoSpecial' => '', 'DoEvent' => 'OnUserLogin', ), ), 'IDField' => 'VisitId', 'TableName' => TABLE_PREFIX.'Visits', 'PermSection' => Array('main' => 'in-portal:visits'), 'TitlePresets' => Array( 'default' => Array(), 'visits_list' => Array('prefixes' => Array('visits_List'), 'format' => "!la_title_Visits! (#visits_recordcount#)"), 'visits.incommerce_list' => Array('prefixes' => Array('visits.incommerce_List'), 'format' => "!la_title_Visits! (#visits.incommerce_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)', ), 'incommerce' => 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' => 'IF(ord.Status = 4, ord.SubTotal+ord.ShippingCost+ord.VAT, 0)', 'OrderAffiliateCommission' => 'IF(ord.Status = 4, ord.AffiliateCommission, 0)', 'OrderNumber' => 'CONCAT(LPAD(Number,6,"0"),\'-\',LPAD(SubNumber,3,"0") )', 'OrderId' => 'ord.OrderId', ), ), 'ListSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.PortalUserId = u.PortalUserId', 'incommerce'=>' 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', ), 'ItemSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.PortalUserId = u.PortalUserId', 'incommerce'=>' 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('type' => 'int', 'not_null' => 1, 'default' => 0), 'VisitDate' => Array('type' => 'int', 'formatter'=>'kDateFormatter', 'custom_filter' => 'date_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', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), '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', 'totals' => 'SUM'), 'OrderTotalAmountSum' => Array('type' => 'float', 'formatter'=>'kFormatter', 'format'=>'%01.2f', 'not_null' => '1','default' => '0.00'), 'OrderAffiliateCommission' => Array('type' => 'double', 'formatter'=>'kFormatter','format'=>'%.02f', 'not_null' => '1','default' => '0.0000', 'totals' => 'SUM'), 'OrderAffiliateCommissionSum' => Array('type' => 'double', 'formatter'=>'kFormatter','format'=>'%.02f', 'not_null' => '1','default' => '0.0000'), 'OrderId' => Array('type' => 'int', 'default' => '0'), ), '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'), ), ), 'visitsincommerce' => 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'), 'OrderTotalAmountSum' => Array( 'title' => 'la_col_OrderTotal'), 'OrderAffiliateCommissionSum' => Array( 'title' => 'la_col_Commission'), ), ), ), ); ?>