'session-log', 'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), 'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'), 'EventHandlerClass' => Array ('class' => 'SessionLogEventHandler', 'file' => 'session_log_eh.php', 'build_event' => 'OnBuild'), 'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'), 'AutoLoad' => true, 'QueryString' => Array ( 1 => 'id', 2 => 'Page', 3 => 'event', 4 => 'mode', ), 'IDField' => 'SessionLogId', 'StatusField' => Array ('Status'), 'TableName' => TABLE_PREFIX.'SessionLogs', 'TitlePresets' => Array ( 'session_log_list' => Array ('prefixes' => Array('session-log_List'), 'format' => '!la_tab_SessionLogs!',), ), 'PermSection' => Array('main' => 'in-portal:session_logs'), // don't forget to add corresponding permissions to install script // INSERT INTO Permissions VALUES (0, 'in-portal:session_logs.view', 11, 1, 1, 0), (0, 'in-portal:session_logs.delete', 11, 1, 1, 0); 'Sections' => Array ( 'in-portal:session_logs' => Array ( 'parent' => 'in-portal:reports', 'icon' => 'sessions_log', 'label' => 'la_tab_SessionLog', // 'la_tab_SessionLogs', 'url' => Array('t' => 'logs/session_logs/session_log_list', 'pass' => 'm'), 'permissions' => Array('view', 'delete'), 'priority' => 2, // 'show_mode' => smSUPER_ADMIN, 'type' => stTREE, ), ), 'TitleField' => 'SessionLogId', 'ListSQLs' => Array ( '' => ' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'PortalUser AS u ON u.PortalUserId = %1$s.PortalUserId', ), 'ListSortings' => Array ( '' => Array ( 'Sorting' => Array ('SessionLogId' => 'desc'), ) ), 'CalculatedFields' => Array( '' => Array( 'UserLogin' => 'IF(%1$s.PortalUserId=-1, \'root\', u.Login)', 'UserFirstName' => 'u.FirstName', 'UserLastName' => 'u.LastName', 'UserEmail' => 'u.Email', 'Duration' => 'IFNULL(SessionEnd, UNIX_TIMESTAMP())-SessionStart', ), ), 'Fields' => Array ( 'SessionLogId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'PortalUserId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'SessionId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'Status' => Array ( 'type' => 'int', 'formatter' => 'kOptionsFormatter', 'options'=> array(0 => 'la_opt_Active', 1 => 'la_opt_LoggedOut', 2 => 'la_opt_Expired'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 1 ), 'SessionStart' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1, 'time_format' => 'H:i:s', 'default' => 0), 'SessionEnd' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'time_format' => 'H:i:s', 'default' => NULL), 'IP' => Array ('type' => 'string', 'max_len' => 15, 'not_null' => 1, 'default' => ''), 'AffectedItems' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), ), 'VirtualFields' => Array( 'Duration' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1, 'date_format' => '', 'time_format' => 'H:i:s', 'use_timezone' => false, 'default' => 0), ), 'Grids' => Array ( 'Default' => Array ( 'Fields' => Array ( 'SessionLogId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', ), 'PortalUserId' => Array ('title' => 'la_col_PortalUserId', 'filter_block' => 'grid_like_filter',), 'UserLogin' => Array ('title' => 'la_col_Username', 'filter_block' => 'grid_like_filter',), 'UserFirstName' => Array ('title' => 'la_col_FirstName', 'filter_block' => 'grid_like_filter',), 'UserLastName' => Array ('title' => 'la_col_LastName', 'filter_block' => 'grid_like_filter',), 'SessionStart' => Array ('title' => 'la_col_SessionStart', 'filter_block' => 'grid_date_range_filter', ), 'SessionEnd' => Array ('title' => 'la_col_SessionEnd', 'filter_block' => 'grid_date_range_filter', ), 'Duration' => Array ('title' => 'la_col_Duration', 'filter_block' => 'grid_range_filter', ), 'Status' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', ), 'IP' => Array ('title' => 'la_col_IP', 'filter_block' => 'grid_like_filter',), 'AffectedItems' => Array ('title' => 'la_col_AffectedItems', 'data_block' => 'affected_td'), ), ), ), 'ConfigMapping' => Array( 'PerPage' => 'Perpage_SessionLogs', ), ); /* !!! Copy the rest of the file to appropriate files and templates * !!! DON'T FORGET TO CREAT FIELDS AND GRIDS USING SYSTEM TOOLS SECTION !!! /* Don't forget to: - Add table create statement to install_schema.sql CREATE TABLE SessionLogs ( `SessionLogId` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `Title` VARCHAR( 255 ) NOT NULL , `Description` TEXT NULL , `Email` VARCHAR( 255 ) NOT NULL , `Type` TINYINT NOT NULL , `Phone` VARCHAR( 50 ) NOT NULL , `Qty` DOUBLE NOT NULL , `Status` TINYINT NOT NULL , `CreatedOn` INT NOT NULL , `Good` TINYINT NOT NULL ) - Add permissions for admin gorup to install script (see 'Sections' key above) */