mirror of
				https://github.com/Mibew/java.git
				synced 2025-10-31 18:41:09 +03:00 
			
		
		
		
	Added 'visitedpageststistics' table and fixed the bug, related to remove visitors' path during chat time
This commit is contained in:
		
							parent
							
								
									1f4582ab20
								
							
						
					
					
						commit
						5f71deeb36
					
				| @ -136,6 +136,12 @@ $dbtables = array( | ||||
| 		"visittime" => "datetime NOT NULL DEFAULT 0", | ||||
| 		"visitorid" => "INT", | ||||
| 	), | ||||
| 
 | ||||
| 	"${mysqlprefix}visitedpagestatistics" => array( | ||||
| 		"pageid" => "INT NOT NULL auto_increment PRIMARY KEY", | ||||
| 		"address" => "varchar(1024)", | ||||
| 		"visittime" => "datetime NOT NULL DEFAULT 0" | ||||
| 	), | ||||
| ); | ||||
| 
 | ||||
| $dbtables_indexes = array( | ||||
| @ -162,6 +168,7 @@ $dbtables_can_update = array( | ||||
| 	"${mysqlprefix}chatresponses" => array("vctitle"), | ||||
| 	"${mysqlprefix}chatsitevisitor" => array(), | ||||
| 	"${mysqlprefix}visitedpage" => array(), | ||||
| 	"${mysqlprefix}visitedpagestatistics" => array(), | ||||
| ); | ||||
| 
 | ||||
| function show_install_err($text) | ||||
|  | ||||
| @ -91,6 +91,8 @@ function track_visit_page($visitorid, $page, $link) | ||||
| 		perform_query(sprintf("insert into ${mysqlprefix}visitedpage (visitorid, address, visittime) values ('%s', '%s', CURRENT_TIMESTAMP)", | ||||
| 					db_escape_string($visitorid), | ||||
| 					db_escape_string($page)), $link); | ||||
| 		perform_query(sprintf("insert into ${mysqlprefix}visitedpagestatistics (address, visittime) values ('%s', CURRENT_TIMESTAMP)", | ||||
| 					db_escape_string($page)), $link); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -83,7 +83,7 @@ $page['reportByAgent'] = select_multi_assoc("select vclocalename as name, COUNT( | ||||
| 											"where agentId = operatorid AND unix_timestamp(dtmcreated) >= $start AND unix_timestamp(dtmcreated) < $end group by operatorid", $link); | ||||
| 
 | ||||
| $page['reportByPage'] = select_multi_assoc("SELECT COUNT(p.pageid) as visittimes, p.address, COUNT(t.threadid) as chattimes " . | ||||
| 						"FROM ${mysqlprefix}visitedpage p LEFT OUTER JOIN ${mysqlprefix}chatthread t ON (p.address = t.referer AND DATE(p.visittime) = DATE(t.dtmcreated)) " . | ||||
| 						"FROM ${mysqlprefix}visitedpagestatistics p LEFT OUTER JOIN ${mysqlprefix}chatthread t ON (p.address = t.referer AND DATE(p.visittime) = DATE(t.dtmcreated)) " . | ||||
| 						"WHERE unix_timestamp(p.visittime) >= $start AND unix_timestamp(p.visittime) < $end GROUP BY p.address", $link); | ||||
| 
 | ||||
| $page['showresults'] = count($errors) == 0; | ||||
|  | ||||
| @ -214,7 +214,7 @@ function print_visitors() | ||||
| 
 | ||||
| 	$link = connect(); | ||||
| 
 | ||||
| // Remove old visitors' tracks
 | ||||
| // Remove old visitors
 | ||||
| 	$query = "DELETE FROM ${mysqlprefix}chatsitevisitor WHERE (UNIX_TIMESTAMP(CURRENT_TIMESTAMP) - UNIX_TIMESTAMP(lasttime)) > " . $settings['tracking_lifetime'] . | ||||
| 			" AND (threadid IS NULL OR (SELECT count(*) FROM ${mysqlprefix}chatthread WHERE threadid = ${mysqlprefix}chatsitevisitor.threadid" . | ||||
| 			" AND istate <> $state_closed AND istate <> $state_left) = 0)"; | ||||
| @ -232,6 +232,11 @@ function print_visitors() | ||||
| 			" AND istate <> $state_closed AND istate <> $state_left) = 0"; | ||||
| 	perform_query($query, $link); | ||||
| 
 | ||||
| // Remove old visitors' tracks
 | ||||
| 	$query = "DELETE FROM ${mysqlprefix}visitedpage WHERE (UNIX_TIMESTAMP(CURRENT_TIMESTAMP) - UNIX_TIMESTAMP(visittime)) > " . $settings['tracking_lifetime'] . | ||||
| 			" AND visitorid NOT IN (SELECT visitorid FROM ${mysqlprefix}chatsitevisitor)"; | ||||
| 	perform_query($query, $link); | ||||
| 
 | ||||
| 	$output = array(); | ||||
| 
 | ||||
| 	$query = "SELECT visitorid, userid, username, unix_timestamp(firsttime), unix_timestamp(lasttime), " . | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user