\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 URL Hits Entry Page Last Selected
 |   |   | 
".$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"); ?>