From 4f3bce79bfb5851cef9e7bc655c91bb3093cc401 Mon Sep 17 00:00:00 2001 From: donncha Date: Tue, 12 Jul 2005 11:27:54 +0000 Subject: Initial Import git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1 7be80a69-a1ef-0310-a953-fb0f7c49ff36 --- wp-inst/wp-admin/referers.php | 431 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 431 insertions(+) create mode 100644 wp-inst/wp-admin/referers.php (limited to 'wp-inst/wp-admin/referers.php') diff --git a/wp-inst/wp-admin/referers.php b/wp-inst/wp-admin/referers.php new file mode 100644 index 0000000..342d437 --- /dev/null +++ b/wp-inst/wp-admin/referers.php @@ -0,0 +1,431 @@ +\n"; + } + return $vals; +} + +function makeURL( $var, $val ) +{ + $fields = array( "action", "day", "order", "num", "more", "ignoreDIRECT", "visitID", "internal" ); + reset( $fields ); + while( list( $key, $field ) = each( $fields ) ) + { + if( $field == 'action' ) + { + $sep = '?'; + } + else + { + $sep = '&'; + } + if( $field != $var ) + { + global $$field; + if( $$field != '' ) + $url .= $sep.$field."=".$$field; + } + else + { + $url .= $sep.$var."=".$val; + } + } + return $url; +} + +if( $action == '' ) +{ + $action = 'listday'; + $day = date( 'j' ); +} + +print '
'; + +if( $action == 'Delete' ) +{ + if( is_array( $del ) ) + { + reset( $del ); + while( list( $key, $val ) = each( $del ) ) + { + $query = "DELETE FROM referer_visitLog + WHERE visitID = '".$val."' + AND blogID = '".$wpblog."'"; + $result = $wpdb->query($query); + } + } + $action = "listday"; +} +elseif( $action == 'deletedirect' ) +{ + $query = "DELETE FROM referer_visitLog + WHERE dayofmonth='".$day."' + AND referingURL = 'DIRECT' + AND blogID = '".$wpblog."'"; + $result = $wpdb->query($query); + printf ("Records deleted: %d\n", $wpdb->rows_affected); + $action = "listday"; +} +elseif( $action == 'Add To Blacklist' ) +{ + if( is_array( $del ) ) + { + reset( $del ); + while( list( $key, $val ) = each( $del ) ) + { + $query = "SELECT referingURL + FROM referer_visitLog + WHERE visitID = '".$val."' + AND blogID = '".$wpblog."'"; + $result=$wpdb->get_var( $query ); + if( $result ) + { + $query = "INSERT INTO referer_blacklist VALUES( NULL, '".$wpblog."', '".$result."', NOW() )"; + $result = $wpdb->query($query); + } + } + } + $action = "listday"; +} +elseif( $action == 'deleteblacklist' ) +{ + if( is_array( $del ) ) + { + reset( $del ); + while( list( $key, $val ) = each( $del ) ) + { + $query = "DELETE FROM referer_blacklist WHERE ID='".$val."' AND blogID = '".$wpblog."'"; + $result = $wpdb->query($query); + } + } + $action = "blacklist"; +} + +switch( $action ) +{ + case "blacklist": + $query = "SELECT * FROM referer_blacklist + WHERE blogID = '".$wpblog."'"; + $result = $wpdb->get_results($query, ARRAY_A ); + if( $result ) + { + print "

Referer Blacklist

"; + print "
"; + print ""; + print ""; + print ""; + $c = 1; + while( list( $key, $row1 ) = each( $result ) ) + { + if( substr( $row1[ 'URL' ], 0, 16 ) == 'http://www.google' ) + { + $displayurl = "Google: ". substr( $row1[ 'URL' ], strpos( $row1[ 'URL' ], "search" )+6 ); + } + elseif( strstr( $row1[ 'URL' ], 'search.yahoo' ) ) + { + $displayurl = "Yahoo: ". substr( $row1[ 'URL' ], strpos( $row1[ 'URL' ], "p=" )+2 ); + } + elseif( strpos( $row1[ 'URL' ], 'www.blueyonder.co.uk' ) ) + { + $displayurl = "Blueyonder: ". substr( $row1[ 'URL' ], strpos( $row1[ 'URL' ], "q=" )+2 ); + } + else + { + $displayurl = $row1[ 'URL' ]; + } + print "\n"; + $c++; + } + print "
$c".$displayurl."
"; + print "
"; + print "
"; + } + else + { + print "No URLs in blacklist yet!"; + } + break; + case "listday": + + $query = "select visitTimes,referingURL,date_format( visitTime, '%k:%i' ) as visitTime2, visitURL, visitID from referer_visitLog where dayofmonth='".$day."'"; + if( $wpblog != 'root' ) + $query .= " and blogID='".$wpblog."'"; + + if( $internal == 'yes' ) + $query .= " and referingURL NOT LIKE '".get_settings( "siteurl" )."%'"; + + if( $ignoreDIRECT == 'yes' ) + $query .= " and referingURL != 'DIRECT'"; + + if( $order == '' || $order == 'time' ) + { + $query .= " order by visitTime desc"; + } + elseif( $order == 'hits' ) + { + $query .= " order by visitTimes desc"; + } + elseif( $order == 'url' ) + { + $query .= " order by visitURL desc"; + } + if( $num == '' ) + { + $num = 0; + } + if( $more == '' || $more == '0' ) + $more = '30'; + + $query .= " limit $num,$more"; + + $result = $wpdb->get_results($query, ARRAY_A ); + $rows = $wpdb->num_rows; + if( $result ) + { + // javascript from http://www.experts-exchange.com/Web/Web_Languages/JavaScript/Q_10105441.html and + // http://members.aol.com/grassblad/html/chkAllBut.html + print ""; + $c = $num+1; + $nav = "
"; + $nav .= "Month View | "; + $nav .= "Top"; + if( $ignoreDIRECT == 'yes' ) + { + $nav .= " | Display DIRECT requests"; + } + else + { + $nav .= " | Hide DIRECT requests"; + } + if( $internal == 'yes' ) + { + $nav .= " | Display internal requests"; + } + else + { + $nav .= " | Hide internal requests"; + } + + if( $num >= 10 ) + { + if( $num > $more ) + { + $nav .= " | Previous $more"; + } + } + else + { + $nav .= " | Previous"; + } + if( $rows >= $more ) + { + $nav .= " | Next $more"; + } + else + { + $nav .= " | Next"; + } + $nav .= " | More Hits"; + $nav .= " | Less Hits"; + $nav .= "
"; + print "

Referers

"; + print $nav; + $today = date( 'd' ); + if( $day > $today ) + { + $month = date( 'F', mktime (0,0,0,date("m")-1,date("d"), date("Y")) ); + } + else + { + $month = date( 'F' ); + } + print "
"; + print ""; + print makeHiddenVals(); + print "
"; + print "
"; + print makeHiddenVals(); + //print ""; + print ""; + print ""; + print " + + + + + + \n"; + while( list( $key, $row1 ) = each( $result ) ) + { + if( $col == 'f5f5f5' ) + { + $col = 'ffffff'; + } + else + { + $col = 'f5f5f5'; + } + if( $row1[ 'referingURL' ] != 'DIRECT' ) + { + if( substr( $row1[ 'referingURL' ], 0, 17 ) == 'http://www.google' ) + { + $args = parse_url( $row1[ 'referingURL' ] ); + parse_str( $args[ 'query' ] ); + $url = "Google: ".stripslashes( htmlspecialchars( $q ) ).""; + } + elseif( strstr( $row1[ 'referingURL' ], 'search.yahoo' ) ) + { + $args = parse_url( $row1[ 'referingURL' ] ); + parse_str( $args[ 'query' ] ); + $url = "Yahoo: ".stripslashes( htmlspecialchars( $p ) ).""; + } + elseif( strpos( $row1[ 'referingURL' ], 'www.blueyonder.co.uk' ) ) + { + $args = parse_url( $row1[ 'referingURL' ] ); + parse_str( $args[ 'query' ] ); + $url = "Blueyonder: ".stripslashes( htmlspecialchars( $q ) ).""; + } + else + { + $url = "".substr( $row1[ 'referingURL' ], 0, 40 ).""; + } + } + else + { + $url = 'DIRECT'; + } + $visitID = $row1[ 'visitID' ]; + print " + + + + + + + "; + $c++; + + } + print "
Referers For $day $month
#Refering URLHitsEntry PageLastSelected
+ + +  |  +  |  +  | 
".$c."".$url."".substr($row1[ 'visitTimes' ],0, 40 )."".substr($row1[ 'visitURL' ],0, 40 )."".$row1[ 'visitTime2' ]."
"; + print $nav; + print "
"; + print "
"; + } + break; + default: + $query = "select sum( visitTimes ) as c, dayofmonth from referer_visitLog "; + if( $wpblog != 'root' ) + $query .= "where blogID='".$wpblog."' "; + $query .= "group by referer_visitLog.dayofmonth"; + $result = $wpdb->get_results($query, ARRAY_A ); + if( $result ) + { + $c = 0; + $col = 'ccc'; + print "

Referers

"; + print "
"; + print ""; + print ""; + while( list( $key, $row1 ) = each( $result ) ) + { + if( $col == 'f5f5f5' ) + { + $col = 'ffffff'; + } + else + { + $col = 'f5f5f5'; + } + print ""; + $c++; + if( $c == '15' ) + { + print "
DayHits
".$row1[ 'dayofmonth']."".$row1[ 'c']."
"; + print "
"; + print ""; + print ""; + } + + } + print "
DayHits
"; + print "
"; + print "
View Blacklist"; + print "
"; + } + else + { + print "There are no referers for your site! Wait until Google indexes you!"; + } +} +print "
"; +include("admin-footer.php"); +?> -- cgit