Permalink
Browse files

Ruwa support for jquery and widgets merged

  • Loading branch information...
2 parents e2d5eab + 4604c7a commit 4621715b524bb7d44e6df6d2b4fc62484c72d9cf @rosario committed May 4, 2009
Showing with 11,699 additions and 97 deletions.
  1. +9 −0 .gitignore.orig
  2. +23 −0 README.orig
  3. +2 −5 app/controllers/dashboard_controller.rb
  4. +108 −0 app/controllers/dashboard_controller.rb.orig
  5. +1 −1 app/controllers/javascripts_controller.rb
  6. +349 −0 app/controllers/javascripts_controller.rb.orig
  7. +1 −1 app/controllers/login_controller.rb
  8. +56 −0 app/controllers/login_controller.rb.orig
  9. +62 −10 app/controllers/projects_controller.rb
  10. +97 −0 app/controllers/projects_controller.rb.orig
  11. +85 −0 app/models/action.rb.orig
  12. +170 −0 app/models/project.rb
  13. +248 −0 app/models/project.rb.orig
  14. +6 −7 app/models/tracker.rb
  15. +194 −0 app/models/tracker.rb.orig
  16. +0 −2 app/models/visit.rb
  17. +9 −0 app/models/visit.rb.orig
  18. +1,567 −0 app/models/visitor.rb.orig
  19. +1 −4 app/views/dashboard/index.html.erb
  20. +14 −0 app/views/dashboard/index.html.erb.orig
  21. +5 −2 app/views/layouts/login.html.erb
  22. +28 −0 app/views/layouts/login.html.erb.orig
  23. +113 −24 app/views/layouts/projects.html.erb
  24. +184 −0 app/views/layouts/projects.html.erb.orig
  25. +130 −24 app/views/login/login.html.erb
  26. +175 −0 app/views/login/login.html.erb.orig
  27. +59 −0 app/views/projects/_bar_graph.html.erb
  28. +56 −0 app/views/projects/_line_plot.html.erb
  29. +11 −0 app/views/projects/_portlet.html.erb
  30. +36 −0 app/views/projects/_portlet_table.html.erb
  31. +23 −0 app/views/projects/_table_panel.html.erb
  32. +46 −0 app/views/projects/_timeline_plot.html.erb
  33. +73 −0 app/views/projects/index.html.erb
  34. +63 −11 app/views/projects/overview.html.erb
  35. +93 −0 app/views/projects/overview.html.erb.orig
  36. +43 −0 app/views/projects/referrers.html.erb
  37. +85 −0 app/views/projects/visitors.html.erb
  38. +72 −0 config/environment.rb.orig
  39. +4 −6 config/routes.rb
  40. +74 −0 config/routes.rb.orig
  41. +9 −0 db/migrate/20090313181545_remove_type_from_action.rb
  42. +9 −0 db/migrate/20090313181618_add_kind_to_action.rb
  43. +9 −0 db/migrate/20090324111151_add_total_actions_to_visitor.rb
  44. +9 −0 db/migrate/20090324121753_add_time_spent_to_visitor.rb
  45. +9 −0 db/migrate/20090324123418_add_first_action_timeto_visitor.rb
  46. +9 −0 db/migrate/20090324123616_add_last_action_time_to_visitor.rb
  47. +9 −0 db/migrate/20090325151412_remove_returning_from_visitor.rb
  48. +9 −0 db/migrate/20090325151531_add_was_here_to_visitor.rb
  49. +14 −0 db/migrate/20090327101619_create_visits.rb
  50. +9 −0 db/migrate/20090327102743_remove_visitor_id_from_action.rb
  51. +9 −0 db/migrate/20090327123548_add_project_id_to_action.rb
  52. +115 −0 db/schema.rb.orig
  53. BIN public/images/bg_fieldset.gif
  54. BIN public/images/btn_sign-in.gif
  55. BIN public/images/icons/first.png
  56. BIN public/images/icons/last.png
  57. BIN public/images/icons/next.png
  58. BIN public/images/icons/prev.png
  59. BIN public/images/logo.gif
  60. BIN public/images/logo_tick.gif
  61. +25 −0 public/javascripts/addons/pager/jquery.tablesorter.pager.css
  62. +184 −0 public/javascripts/addons/pager/jquery.tablesorter.pager.js
  63. +160 −0 public/javascripts/jquery-ui.js
  64. +1,860 −0 public/javascripts/jquery.flot.pie.js
  65. +5 −0 public/javascripts/jquery.flot.pie.pack.js
  66. +32 −0 public/javascripts/jquery.js
  67. +80 −0 public/javascripts/jquery.layout.min.js
  68. +2 −0 public/javascripts/jquery.tablesorter.min.js
  69. +19 −0 public/javascripts/jquery/jquery-1.3.2.min.js
  70. +273 −0 public/javascripts/jquery/jquery-ui-1.7.1.custom.min.js
  71. +1 −0 public/javascripts/jrails.js
  72. +183 −0 public/javascripts/livepipe/contextmenu.js
  73. +44 −0 public/javascripts/livepipe/cookie.js
  74. +306 −0 public/javascripts/livepipe/event_behavior.js
  75. +61 −0 public/javascripts/livepipe/hotkey.js
  76. +356 −0 public/javascripts/livepipe/livepipe.js
  77. +97 −0 public/javascripts/livepipe/progressbar.js
  78. +153 −0 public/javascripts/livepipe/rating.js
  79. +147 −0 public/javascripts/livepipe/scrollbar.js
  80. +457 −0 public/javascripts/livepipe/selection.js
  81. +144 −0 public/javascripts/livepipe/selectmultiple.js
  82. +147 −0 public/javascripts/livepipe/tabs.js
  83. +114 −0 public/javascripts/livepipe/textarea.js
  84. +929 −0 public/javascripts/livepipe/window.js
  85. BIN public/stylesheets/blue/asc.gif
  86. BIN public/stylesheets/blue/bg.gif
  87. BIN public/stylesheets/blue/desc.gif
  88. +39 −0 public/stylesheets/blue/style.css
  89. BIN public/stylesheets/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
  90. BIN public/stylesheets/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
  91. BIN public/stylesheets/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
  92. BIN public/stylesheets/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
  93. BIN public/stylesheets/smoothness/images/ui-bg_glass_75_dadada_1x400.png
  94. BIN public/stylesheets/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
  95. BIN public/stylesheets/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
  96. BIN public/stylesheets/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
  97. BIN public/stylesheets/smoothness/images/ui-icons_222222_256x240.png
  98. BIN public/stylesheets/smoothness/images/ui-icons_2e83ff_256x240.png
  99. BIN public/stylesheets/smoothness/images/ui-icons_454545_256x240.png
  100. BIN public/stylesheets/smoothness/images/ui-icons_888888_256x240.png
  101. BIN public/stylesheets/smoothness/images/ui-icons_cd0a0a_256x240.png
  102. +404 −0 public/stylesheets/smoothness/jquery-ui-1.7.1.custom.css
  103. +35 −0 vendor/plugins/jrails/CHANGELOG
  104. +21 −0 vendor/plugins/jrails/README
  105. +6 −0 vendor/plugins/jrails/init.rb
  106. +9 −0 vendor/plugins/jrails/install.rb
  107. +160 −0 vendor/plugins/jrails/javascripts/jquery-ui.js
  108. +32 −0 vendor/plugins/jrails/javascripts/jquery.js
  109. +1 −0 vendor/plugins/jrails/javascripts/jrails.js
  110. +194 −0 vendor/plugins/jrails/javascripts/sources/jrails.js
  111. +406 −0 vendor/plugins/jrails/lib/jrails.rb
  112. +19 −0 vendor/plugins/jrails/tasks/jrails.rake
View
9 .gitignore.orig
@@ -0,0 +1,9 @@
+.DS_Store
+log/*.log
+tmp/**/*
+<<<<<<< HEAD:.gitignore
+db/*.sqlite3
+public/datafiles/*
+=======
+db/*.sqlite3
+>>>>>>> ruwa:.gitignore
View
23 README.orig
@@ -0,0 +1,23 @@
+<<<<<<< HEAD:README
+Cannoli is a Click heatmaps generator written in Ruby on Rails 2.2. It's based on the Ruwa analytics
+
+The main features are:
+1) Database used to save clicks
+2) Heatmap can be generated per page
+3) Statistics provided by Ruwa (visitor settings, referers and so on)
+4) Fast Heamap generation in C++
+=======
+RUWA is a very simple web analytics written in Ruby on Rails 2.2.
+It's not complete and there may be bugs.
+
+The main features are:
+
+1) Visitors can be tracked
+2) Browser settings, IP and referers are stored
+2) Easy to plot graphs
+>>>>>>> ruwa:README
+
+
+To install consult the wiki.
+
+
View
7 app/controllers/dashboard_controller.rb
@@ -14,7 +14,7 @@ def index
redirect_to :controller =>'dashboard', :action=> 'setup'
else
session[:project_id] = pid
- redirect_to project_overview_url(:id =>pid)
+ redirect_to project_index_url
end
end
@@ -28,7 +28,6 @@ def create
u = User.find(session[:user_id])
project_name = params[:project_name]
-
if u.project_id.nil?
p = Project.create(:name=>project_name)
u.project_id = p.id
@@ -60,9 +59,7 @@ def create
end
session[:project_id]= p.id
-
-
- redirect_to project_overview_url(:id => p.id)
+ redirect_to project_index_url
end
end
View
108 app/controllers/dashboard_controller.rb.orig
@@ -0,0 +1,108 @@
+# Interface controller
+class DashboardController < ApplicationController
+<<<<<<< HEAD:app/controllers/dashboard_controller.rb
+ before_filter :authorize
+
+
+
+
+=======
+ before_filter :authorize
+
+
+>>>>>>> ruwa:app/controllers/dashboard_controller.rb
+ # Redirect to projects/setup if the user hasn't got a project yet
+ # otherwise redirect to projects/overview
+ def index
+ u = User.find(session[:user_id])
+ pid = u.project_id
+ if pid.nil?
+ redirect_to :controller =>'dashboard', :action=> 'setup'
+ else
+ session[:project_id] = pid
+<<<<<<< HEAD:app/controllers/dashboard_controller.rb
+ redirect_to project_overview_url(:id =>pid)
+=======
+ redirect_to project_index_url
+>>>>>>> ruwa:app/controllers/dashboard_controller.rb
+ end
+
+ end
+
+ def setup
+
+
+ end
+
+ def create
+ u = User.find(session[:user_id])
+ project_name = params[:project_name]
+
+<<<<<<< HEAD:app/controllers/dashboard_controller.rb
+
+=======
+>>>>>>> ruwa:app/controllers/dashboard_controller.rb
+ if u.project_id.nil?
+ p = Project.create(:name=>project_name)
+ u.project_id = p.id
+ u.save
+<<<<<<< HEAD:app/controllers/dashboard_controller.rb
+
+ # # Testing, add the actions
+ # urls = ["http://0.0.0.0:3000/website/page1",
+ # "http://0.0.0.0:3000/website/page2",
+ # "http://0.0.0.0:3000/website/page3",
+ # "http://0.0.0.0:3000/website/page4",
+ # "http://0.0.0.0:3000/website/page5"]
+ # as = []
+ # for u in urls
+ # p.add_action(Action.new(:url=>"#{u}", :url_id=> Digest::MD5.hexdigest(u), :kind => rand(2)))
+ # end
+ #
+ #
+ # # Randomly create 500 visitors. Useful for graphs generation
+ # 500.times do
+ # v = Visitor.create_random
+ # v.add_random_actions(p.actions)
+ # p.visitors << v
+ # end
+
+
+=======
+ #
+ # # Testing, add the actions
+ # urls = ["http://0.0.0.0:3000/website/page1",
+ # "http://0.0.0.0:3000/website/page2",
+ # "http://0.0.0.0:3000/website/page3",
+ # "http://0.0.0.0:3000/website/page4",
+ # "http://0.0.0.0:3000/website/page5"]
+ # as = []
+ # for u in urls
+ # p.add_action(Action.new(:url=>"#{u}", :url_id=> Digest::MD5.hexdigest(u), :kind => rand(2)))
+ # end
+ #
+ #
+ # # Randomly create 500 visitors. Useful for graphs generation
+ # 500.times do
+ # v = Visitor.create_random
+ # v.add_random_actions(p.actions)
+ # p.visitors << v
+ # end
+>>>>>>> ruwa:app/controllers/dashboard_controller.rb
+
+ else
+ p= Project.find(u.project_id)
+ end
+ session[:project_id]= p.id
+
+<<<<<<< HEAD:app/controllers/dashboard_controller.rb
+
+
+ redirect_to project_overview_url(:id => p.id)
+=======
+ redirect_to project_index_url
+>>>>>>> ruwa:app/controllers/dashboard_controller.rb
+ end
+
+end
+
View
2 app/controllers/javascripts_controller.rb
@@ -81,7 +81,7 @@ def log
hostname = URI.parse(params[:url]).host
if hostname.match(p.name)
puts " >>>>>>>>>>>>>>>>>> HOSTNAME MATCHES with the correct project_id"
- visitor_settings = Tracker.get_settings(params,request)
+ visitor_settings = Tracker.get_settings(params,request,p.name)
if session[:visitor_id]
# Se c''e il visitor_id allora e' conosciuto
# Vedo se l'ultima azione e' stata fatta in meno di mezzo'ora
View
349 app/controllers/javascripts_controller.rb.orig
@@ -0,0 +1,349 @@
+# Javascript code controller
+
+class JavascriptsController < ApplicationController
+
+<<<<<<< HEAD:app/controllers/javascripts_controller.rb
+=======
+ def hostname_check
+
+
+
+ end
+>>>>>>> ruwa:app/controllers/javascripts_controller.rb
+
+ # The main javascript tracker function, at the moment it's basically
+ # taken from piwik.org. It registers the visitor informations and pass it
+ # to log
+ def piwik
+
+ # see the views/javascripts/piwik.js.erb
+
+ end
+
+<<<<<<< HEAD:app/controllers/javascripts_controller.rb
+
+
+ def clickmap
+ if session[:user_id]
+ a = Action.find(session[:action_id])
+
+ name = a.url_id
+ @heatmap = "#{SERVER_NAME}/images/#{name}.png"
+ puts "HEATMAP >>>>>>>>>>>>>>>>>>"
+ puts @heatmap
+ puts "ACTION ID <<<<<<<<<<<<<<"
+ puts a.id.to_s
+
+ @overlay_style = "<style type='text/css'>@import url('#{SERVER_NAME}/stylesheets/overlay.css');</style>"
+ render :action => "overlay.js"
+ else
+ @click_url = "#{SERVER_NAME}/javascripts/click.js"
+ render :action => "clickmap.js"
+ end
+
+
+ end
+
+ # It keeps track of the visitor.
+ # It is called from a visitor browser using the tracking javascript code
+
+=======
+>>>>>>> ruwa:app/controllers/javascripts_controller.rb
+
+ def log
+
+
+
+ if session[:user_id]
+ # User (not the visitor) is logged in..we dont count his actions
+ puts ">>>>>>>>>>>>>>>> USER LOGGED IN, ACTIONS not counted"
+<<<<<<< HEAD:app/controllers/javascripts_controller.rb
+
+
+ # Questo mi serve per far funzionare la session[:action_id] dentro clickmap!
+ # Clean the URL from the last '/'
+ url = params[:url]
+ if url.last == "/"
+ url.chop!
+ end
+
+ project_id = params[:idsite]
+ p = Project.find(project_id)
+ action = p.actions.find_by_url(url)
+ session[:action_id] = action.id
+
+=======
+>>>>>>> ruwa:app/controllers/javascripts_controller.rb
+ render :text => ""
+ else
+
+ project_id = params[:idsite]
+
+ if (session[:project_id]) and (project_id != session[:project_id])
+ # This visitor has already a session open, but using another project
+ session[:visitor_id] = nil
+ end
+
+ session[:project_id] = project_id
+
+
+ p = Project.find(project_id)
+
+ # Check if the params[:idsite] correspond to the right hostname
+ # because we dont want to record stats from other hosts
+
+ hostname = URI.parse(params[:url]).host
+ if hostname.match(p.name)
+ puts " >>>>>>>>>>>>>>>>>> HOSTNAME MATCHES with the correct project_id"
+<<<<<<< HEAD:app/controllers/javascripts_controller.rb
+ visitor_settings = Tracker.get_settings(params,request)
+=======
+ visitor_settings = Tracker.get_settings(params,request,p.name)
+>>>>>>> ruwa:app/controllers/javascripts_controller.rb
+ if session[:visitor_id]
+ # Se c''e il visitor_id allora e' conosciuto
+ # Vedo se l'ultima azione e' stata fatta in meno di mezzo'ora
+ puts " >>>>>>>>>>>>>>>>> SESSION FOUND"
+ v = Visitor.find(session[:visitor_id])
+ if (Time.now - v.last_action_time) > 30.minutes
+ # Sono passati piu' di 30 minuti, creo un nuovo visitor e lo metto come returning
+ puts ">>>>>>>>>>>>>>>>>>>MORE THAN 30 minutes, create a new visitor"
+ v = Visitor.create_with_settings(visitor_settings)
+ p.visitors << v
+ p.visitor_was_here!(v)
+ end
+
+ else
+
+ puts ">>>>>>>>>>>>>>>>> NO SESSION"
+ # There's no session, check if there was a visitor having the same browser configuration and IP today
+ puts ">>>>>>>>>>> USER SETTINGS" + visitor_settings[:config_md5config]
+ v = p.visitor_here_today?(visitor_settings)
+
+ if v.nil?
+ puts ">>>>>>>>>>>> VISITOR NEW"
+ # The visitor is new, create a new visitor and add him
+ v = Visitor.create_with_settings(visitor_settings)
+ p.visitors << v
+ else
+ p ">>>>>>>>>>>> VISITOR HERE"
+
+ if (Time.now - v.last_action_time) > 30.minutes
+ puts ">>>>>>>>>>>>>> MORE THAN 30 minutes, create new visitor"
+ # Sono passati piu' di 30 minuti, creo un nuovo visitor e lo metto come returning
+ v = Visitor.create_with_settings(visitor_settings)
+ p.visitors << v
+ p.visitor_was_here!(v)
+ end
+
+ end
+
+ end
+
+ session[:visitor_id] = v.id
+
+
+ # Save the action only IF it's not already present.
+ # Kind is used to distinguish between normal actions and goals
+ # Other kinds should be used too, (such as downloads)
+
+ # Clean the URL from the last '/'
+ url = params[:url]
+ if url.last == "/"
+ url.chop!
+ end
+
+ action = Action.new(:url=>"#{url}", :url_id=> Digest::MD5.hexdigest(params[:url]),
+ :kind => params[:action_kind].to_i)
+ # Add the action to the project, only if it's new
+ # Return the old action if present
+ a = p.add_action(action)
+
+ v.add_action(a)
+<<<<<<< HEAD:app/controllers/javascripts_controller.rb
+ #session[:action_id] = action.id
+ session[:action_id] = a.id
+ puts "Setting ACTION ID = " + session[:action_id].to_s
+
+ end
+
+
+ end
+
+ end
+
+
+ def click
+
+ # Note
+ # a.visitors_clicking.find(:all, :group => :visitor_id), returns all visitors that have clicked
+ # a.clicks.find(:all, :visitor_id), returns the clicks, with the different visitor_id counted only once.
+
+
+ a = session[:action_id]
+ v = session[:visitor_id]
+ c = Click.create(:action_id => a, :visitor_id => v, :x => params[:x], :y => params[:y])
+
+ render :text => ""
+ end
+
+=======
+ end
+
+
+
+ end
+
+
+
+
+ end
+
+
+ def log_old
+
+
+ project_id = params[:idsite]
+
+ if (session[:project_id]) and (project_id != session[:project_id])
+ ## This means the visitor has found another website using RUWA
+ # Reset the visitor_id
+ session[:visitor_id] = nil
+ end
+
+ session[:project_id] = project_id
+
+
+
+
+ p = Project.find(project_id)
+
+
+ # Check if the params[:idsite] correspond to the right hostname
+ # because we dont want to record stats from other hosts
+ # Fix this code..it needs to work for www.hostname.com and hostname.com
+ # hostname = URI.parse(params[:url]).host
+ # if p.name != hostname
+ # render :text => ""
+ # end
+ #
+ #
+
+
+
+
+ # If there's a session open, the visitor is known
+ if session[:visitor_id]
+ puts "SESSION FOUND, VISITOR KNOWN"
+ v = Visitor.find(session[:visitor_id])
+ else
+ puts "NO SESSION"
+ # There's no session, check if there was a visitor having the same browser configuration and IP today
+ user_settings = Tracker.get_settings(params,request)
+ puts "USER SETTINGS" + user_settings[:config_md5config]
+ v = p.visitor_here_today?(user_settings)
+
+ if v.nil?
+ puts "VISITOR NEW"
+ # The visitor is new, create a new visitor and add him to the project
+ v = Visitor.create_with_settings(user_settings)
+ p.visitors << v
+ elsif (Time.now - v.last_action_time) > 30.minutes
+ puts "VISITOR FOUND, but last action was more than 30 minutes ago"
+ # The visitor was here, but more than 30 minutes ago, create a new visitor
+ v = Visitor.create_with_settings(user_settings)
+ p.visitors << v
+ else
+ # With no session, the visitor either cleared the cookies or restarted the browser...
+ # I'll consider that as a returning visitor
+ puts "RETURNING VISITOR"
+ p.visitor_was_here!(v)
+
+ end
+
+ session[:visitor_id] = v.id
+ end
+
+
+
+ # Save the action only IF it's not already present.
+ # Kind is used to distinguish between normal actions and goals
+ # Other kinds should be used too, (such as downloads)
+
+ # Clean the URL from the last '/'
+ url = params[:url]
+ if url.last == "/"
+ url.chop!
+ end
+
+ action = Action.new(:url=>"#{url}", :url_id=> Digest::MD5.hexdigest(params[:url]),
+ :kind => params[:action_kind].to_i)
+ # Add the action to the project, only if it's new
+ # Return the old action if present
+ a = p.add_action(action)
+
+ v.add_action(a)
+
+ end
+
+
+
+
+
+
+
+
+ # THIS CODE IS NOT USED ANYMORE...
+
+
+ # def log2
+ # project_id = params[:idsite]
+ # session[:project_id] = project_id
+ # p = Project.find(project_id)
+ #
+ # # Save the action
+ # # Kind is used to distinguish between normal actions and goals
+ # # Other kinds should be used too, (such as downloads)
+ # action = Action.create(:url=>"#{params[:url]}", :url_id=> Digest::MD5.hexdigest(params[:url]),
+ # :kind => params[:action_kind].to_i)
+ #
+ #
+ # # Check if the visitor has a session open
+ # if session[:visitor_id].nil?
+ # p "SESSION ID NOT FOUND"
+ #
+ # # There's no session, however we check if a visitor with the same settings
+ # # has already visited the website
+ # user_settings = Tracker.get_settings(params,request)
+ # v = Visitor.here_today?(user_settings) # Check using user browser configuration + IP address
+ #
+ # if v.nil?
+ # p "VISITOR NEW TODAY"
+ # # There's no session id, and no visitor has been found. So we create a visitor
+ # v = Visitor.create_with_settings(user_settings)
+ # p.visitors << v
+ # else
+ # p "VISITOR FOUND (he was here today)"
+ # v.was_here!
+ #
+ # end
+ #
+ # session[:visitor_id] = v.id
+ # else
+ # p "SESSION ID FOUND"
+ # v = Visitor.find(session[:visitor_id])
+ # end
+ #
+ #
+ # # v.actions << action
+ # v.add_action(action)
+ #
+ # end
+ #
+
+
+
+
+>>>>>>> ruwa:app/controllers/javascripts_controller.rb
+
+end
View
2 app/controllers/login_controller.rb
@@ -41,7 +41,7 @@ def index
def delete_user
end
-
+
end
View
56 app/controllers/login_controller.rb.orig
@@ -0,0 +1,56 @@
+class LoginController < ApplicationController
+<<<<<<< HEAD:app/controllers/login_controller.rb
+ before_filter :authorize, :except => :login
+ protect_from_forgery :except => :add_signup
+=======
+ before_filter :authorize, :except => :login
+
+>>>>>>> ruwa:app/controllers/login_controller.rb
+
+
+ def login
+ session[:user_id] = nil
+ if request.post?
+ user = User.authenticate(params[:name], params[:password])
+ if user
+ session[:user_id] = user.id
+
+ if user.id == 1
+ session[:admin] = 1
+ redirect_to :controller =>'users', :action =>'list_users'
+ else
+ redirect_to :controller =>'dashboard', :action => 'index'
+
+ end
+
+
+ else
+ flash[:notice] = "Invalid user/password combination"
+ end
+ end
+ end
+
+
+ def logout
+ session[:user_id] = nil
+ session[:project_id] = nil
+ #session[:events_loaded] = nil
+ flash[:notice] = "Logged out"
+ redirect_to(:action => "login")
+ end
+
+
+
+ def index
+ end
+
+ def delete_user
+ end
+<<<<<<< HEAD:app/controllers/login_controller.rb
+
+=======
+
+>>>>>>> ruwa:app/controllers/login_controller.rb
+
+
+end
View
72 app/controllers/projects_controller.rb
@@ -1,23 +1,75 @@
class ProjectsController < ApplicationController
before_filter :authorize
+ layout "projects", :except => [ :overview, :visitors,:referrers]
+
-
-
def index
- redirect_to project_overview_url :id=>session[:project_id]
+
+ @project = Project.find(session[:project_id])
+ p = @project
+ bod = Time.parse("2009-01-01").strftime("%Y-%m-%d %H:%M:%S")
+ eod = Time.now.end_of_day.strftime("%Y-%m-%d %H:%M:%S")
+
+ conditions = ["created_at > ? AND created_at < ?", "#{bod}", "#{eod}"]
+
+ vs = p.visitors.find(:all,:conditions=>conditions)
+ @total_clicks = p.total_clicks(vs)
+
+ @nvisits = vs.size
+ @page_views =p.page_views(vs)
+ if @page_views == 0
+ @avg_pageviews = 0
+ else
+ @avg_pageviews = "%.2f" % ((@page_views+0.0)/@nvisits)
+ end
+
+ @time_on_site = p.time_on_site(vs)
+ @bounce_rate = "%.2f" % (p.bounce_rate(vs) * 100)
+ @new_visits = "%.2f" % (p.new_visits(vs) * 100)
+ @data_website = p.website_list(vs).first(10)
+
+
+
end
- def overview
- if session[:project_id] == nil
- @project = nil
- else
- @project = Project.find(session[:project_id])
- end
- @data = [[0,1,2,3]]
+
+ def referrers
+ p = Project.find(session[:project_id])
+ @project = p
+ bod = Time.parse("2009-01-01").strftime("%Y-%m-%d %H:%M:%S")
+ eod = Time.now.end_of_day.strftime("%Y-%m-%d %H:%M:%S")
+
+ conditions = ["created_at > ? AND created_at < ?", "#{bod}", "#{eod}"]
+
+ vs = p.visitors.find(:all,:conditions=>conditions)
+ @data_website = p.website_list(vs)
+ @searched_keywords = p.search_engine_queries(vs)
+
+
+
end
+
+ def visitors
+ p = Project.find(session[:project_id])
+ @project = p
+ bod = Time.parse("2009-01-01").strftime("%Y-%m-%d %H:%M:%S")
+ eod = Time.now.end_of_day.strftime("%Y-%m-%d %H:%M:%S")
+
+ conditions = ["created_at > ? AND created_at < ?", "#{bod}", "#{eod}"]
+ vs = p.visitors.find(:all,:conditions=>conditions)
+
+
+
+ @config_os = p.config_os(vs)
+ @browsers = p.browsers(vs)
+ #@hours_by_servertime = p.hours_by_servertime(vs)
+ @config_resolution = p.config_resolution(vs).first(5)
+ @traffic_sources = p.traffic_sources(vs)
+
+ end
View
97 app/controllers/projects_controller.rb.orig
@@ -0,0 +1,97 @@
+class ProjectsController < ApplicationController
+ before_filter :authorize
+<<<<<<< HEAD:app/controllers/projects_controller.rb
+
+
+
+
+ def index
+ redirect_to project_overview_url :id=>session[:project_id]
+ end
+
+ def overview
+ if session[:project_id] == nil
+ @project = nil
+ else
+ @project = Project.find(session[:project_id])
+ end
+ @data = [[0,1,2,3]]
+ end
+
+
+=======
+ layout "projects", :except => [ :overview, :visitors,:referrers]
+
+
+
+ def index
+
+ @project = Project.find(session[:project_id])
+ p = @project
+ bod = Time.parse("2009-01-01").strftime("%Y-%m-%d %H:%M:%S")
+ eod = Time.now.end_of_day.strftime("%Y-%m-%d %H:%M:%S")
+
+ conditions = ["created_at > ? AND created_at < ?", "#{bod}", "#{eod}"]
+
+ vs = p.visitors.find(:all,:conditions=>conditions)
+ @total_clicks = p.total_clicks(vs)
+
+ @nvisits = vs.size
+ @page_views =p.page_views(vs)
+ if @page_views == 0
+ @avg_pageviews = 0
+ else
+ @avg_pageviews = "%.2f" % ((@page_views+0.0)/@nvisits)
+ end
+
+ @time_on_site = p.time_on_site(vs)
+ @bounce_rate = "%.2f" % (p.bounce_rate(vs) * 100)
+ @new_visits = "%.2f" % (p.new_visits(vs) * 100)
+ @data_website = p.website_list(vs).first(10)
+
+
+
+ end
+
+
+ def referrers
+ p = Project.find(session[:project_id])
+ @project = p
+ bod = Time.parse("2009-01-01").strftime("%Y-%m-%d %H:%M:%S")
+ eod = Time.now.end_of_day.strftime("%Y-%m-%d %H:%M:%S")
+
+ conditions = ["created_at > ? AND created_at < ?", "#{bod}", "#{eod}"]
+
+ vs = p.visitors.find(:all,:conditions=>conditions)
+ @data_website = p.website_list(vs)
+ @searched_keywords = p.search_engine_queries(vs)
+
+
+
+ end
+
+ def visitors
+ p = Project.find(session[:project_id])
+ @project = p
+ bod = Time.parse("2009-01-01").strftime("%Y-%m-%d %H:%M:%S")
+ eod = Time.now.end_of_day.strftime("%Y-%m-%d %H:%M:%S")
+
+ conditions = ["created_at > ? AND created_at < ?", "#{bod}", "#{eod}"]
+
+ vs = p.visitors.find(:all,:conditions=>conditions)
+
+
+
+ @config_os = p.config_os(vs)
+ @browsers = p.browsers(vs)
+ #@hours_by_servertime = p.hours_by_servertime(vs)
+ @config_resolution = p.config_resolution(vs).first(5)
+ @traffic_sources = p.traffic_sources(vs)
+
+
+ end
+>>>>>>> ruwa:app/controllers/projects_controller.rb
+
+
+
+end
View
85 app/models/action.rb.orig
@@ -0,0 +1,85 @@
+# An Action represent the page the visitor requested
+class Action < ActiveRecord::Base
+ # belongs_to :visitor
+ belongs_to :project
+ has_many :visits
+ has_many :visitors, :through => :visits
+<<<<<<< HEAD:app/models/action.rb
+
+ has_many :clicks
+ has_many :visitors_clicking, :through => :clicks, :source => :visitor
+=======
+>>>>>>> ruwa:app/models/action.rb
+
+ require 'uri'
+
+
+ # Non uso piu URI.split ma URI.parse
+
+ # URI.split("http://www.site.com:8080/controller/action/var/var2?p=2&c=3")
+ # => ["http", nil, "www.site.com", "8080", nil, "/controller/action/var/var2", nil, "p=2&c=3", nil]
+
+ # * Scheme
+ # * Userinfo
+ # * Host
+ # * Port
+ # * Registry
+ # * Path
+ # * Opaque
+ # * Query
+ # * Fragment
+
+
+<<<<<<< HEAD:app/models/action.rb
+ def create_heatmap
+ # pid = Digest::MD5.hexdigest(project_id.to_s + "this is salt, never trust people")
+ # aid = Digest::MD5.hexdigest(action_id.to_s + "this is salt, never trust people")
+ heatmap_file = "#{RAILS_ROOT}/public/images/#{url_id}.png"
+
+ Heatmap::Image.create_heatmap(heatmap_file,clicks)
+
+ end
+=======
+
+>>>>>>> ruwa:app/models/action.rb
+
+
+ def query
+ URI.split(url)[7]
+ end
+
+ def path
+ URI.split(url)[5]
+ end
+
+<<<<<<< HEAD:app/models/action.rb
+ # def urlid
+ # self.url_id
+ # end
+ #
+=======
+ def url_id
+
+ end
+>>>>>>> ruwa:app/models/action.rb
+
+ def self.new_random
+ urls = ["http://0.0.0.0:3000/website/page1",
+ "http://0.0.0.0:3000/website/page2",
+ "http://0.0.0.0:3000/website/page3",
+ "http://0.0.0.0:3000/website/page4",
+ "http://0.0.0.0:3000/website/page5"]
+
+ url = urls[rand(urls.size)]
+
+ a = Action.find_by_url(url)
+ if a.nil?
+ a = Action.new(:url=>"#{url}", :url_id=> Digest::MD5.hexdigest(url), :kind => rand(2))
+ end
+
+ return a
+
+
+ end
+
+end
View
170 app/models/project.rb
@@ -5,6 +5,176 @@ class Project < ActiveRecord::Base
has_many :actions
+
+ def total_clicks(vs)
+ vs.group_by { |v|
+ v.created_at.strftime("%Y/%m/%d")
+ }.map{|k,v| [k,v.size]}.sort_by {|date,x| date}
+ end
+
+
+ def website_list(vs)
+ total_visits = vs.select{|v| v.referer_type == 3 and (not v.referer_name.nil?)}
+ queries = total_visits.group_by{|v| v.referer_name}
+
+ list = []
+ queries.keys.each do |k|
+ vs = queries[k]
+ nvisitors = queries[k].size
+
+ total_actions = vs.inject(0){|total,v| total + v.total_actions}
+ total_time = vs.inject(0){|total,v| total + v.time_spent}
+ avg_time = (total_time/nvisitors).to_i
+ avg_time = [avg_time/60 % 60, avg_time % 60].map{|t| t.to_s.rjust(2,'0')}.join(':')
+ list << [k,
+ nvisitors,
+ "%.2f" % ((total_actions+0.0)/nvisitors),
+ avg_time
+
+ ]
+
+ end
+
+ ls = list.sort_by{|q,v,p,t| v}.reverse.first(25)
+ return ls
+
+ end
+
+
+ def search_engine_queries(vs)
+
+ total_visits = vs.select{|v| v.referer_type == 1 and (not v.referer_keyword.nil?)}
+ queries = total_visits.group_by{|v| v.referer_keyword}
+
+ list = []
+
+
+ queries.keys.each do |k|
+ vs = queries[k]
+ nvisitors = queries[k].size
+
+ total_actions = vs.inject(0){|total,v| total + v.total_actions}
+ total_time = vs.inject(0){|total,v| total + v.time_spent}
+ avg_time = (total_time/nvisitors).to_i
+ avg_time = [avg_time/60 % 60, avg_time % 60].map{|t| t.to_s.rjust(2,'0')}.join(':')
+ list << [k,
+ nvisitors,
+ "%.2f" % ((total_actions+0.0)/nvisitors),
+ avg_time
+
+ ]
+
+
+
+ end
+ ls = list.sort_by{|q,v,a,t| v}.reverse.first(25)
+
+ return ls
+ end
+
+ def browsers(vs)
+ vs.group_by{|v| v.config_browser_name}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.first(9)
+ end
+
+
+
+ # @config_os = p.visitors.count(:id,
+ # :group =>:config_os,
+ # :conditions => conditions).sort_by{|x,y| y}.reverse
+ #
+ def config_os(vs)
+ vs.group_by{|v| v.config_os}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.first(9)
+ end
+
+ def config_resolution(vs)
+ vs.group_by{|v| v.config_resolution}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.first(9)
+
+ end
+
+
+
+ # @hours_by_servertime = p.visitors.count(:id,
+ # :group => 'strftime("%H",created_at)',
+ # :conditions => conditions)
+ def hours_by_servertime(vs)
+ vs.group_by{|v| v.created_at.strftime("%H")}.map{|k,v| [k,v.size]}.sort_by {|date,x| date}
+ end
+
+
+ def traffic_sources(vs)
+ ref_type = []
+ ref_type[0] = "Campaign"
+ ref_type[1] = "Search engine"
+ ref_type[2] = "Direct entry"
+ ref_type[3] = "Referring sites"
+
+ size = vs.size
+ vs.group_by{|v| v.referer_type}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.map{|k,v| [ref_type[k], "%.2f" % (((v+0.0)/size)*100)]}
+
+
+ end
+
+ # @search_engines = p.visitors.count(:id,
+ # :group => 'referer_name',
+ # :conditions => ["referer_type = ? AND created_at > ? AND created_at < ?", "1", "#{bod}", "#{eod}"] ).sort_by{|x,y| y}.reverse
+ def search_engines(vs)
+ vs.select{|v| v.referer_type == 1}.group_by{|v| v.referer_name}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse
+ end
+
+
+ def time_spent(vs)
+ vs.group_by {|v|v.time_spent_in_words }.map{|k,v| [k,v.size]}.sort_by{|t,s| s}.reverse
+ end
+
+ def time_on_site(vs)
+ if vs.size == 0
+ return 0
+ else
+ secs =vs.inject(0){|sum,v| sum + v.time_spent.to_i}
+ secs = (secs)/vs.size
+ return [ secs/3600, secs / 60, secs % 60 ].map{ |t| t.to_s.rjust(2, '0') }.join(':')
+ #return secs
+ end
+
+
+ end
+
+ def visitors_per_action
+ as = self.actions
+ as.map{|a| [a.path,a.visitors.count(:group => :visitor_id).size]}.sort_by{|u,s| s}.reverse
+ end
+
+ def bounce_rate(vs)
+ if vs.size == 0
+ return 0
+ else
+ one_page_visitors = vs.select{|v| v.actions.size == 1}.size
+ return (one_page_visitors+0.0)/vs.size
+ end
+
+ end
+
+ def new_visits(vs)
+ if vs.size == 0
+ return 0
+ else
+ new_ones = vs.select{|v| v.was_here == 0}.size
+ return (new_ones+0.0)/vs.size
+ end
+
+ end
+
+ def page_views(vs)
+ if vs.size == 0
+ return 0
+ else
+ pages = vs.inject(0){|sum,v| sum + v.actions.size}
+ end
+
+ end
+
+
+
# Check if a visitor in this project was here today
def visitor_here_today?(user_settings)
md5config = user_settings[:config_md5config]
View
248 app/models/project.rb.orig
@@ -0,0 +1,248 @@
+# A project is associated with a website. ( A rename to Website should be done!)
+class Project < ActiveRecord::Base
+ has_many :users
+ has_many :visitors
+ has_many :actions
+
+
+<<<<<<< HEAD:app/models/project.rb
+=======
+
+ def total_clicks(vs)
+ vs.group_by { |v|
+ v.created_at.strftime("%Y/%m/%d")
+ }.map{|k,v| [k,v.size]}.sort_by {|date,x| date}
+ end
+
+
+ def website_list(vs)
+ total_visits = vs.select{|v| v.referer_type == 3 and (not v.referer_name.nil?)}
+ queries = total_visits.group_by{|v| v.referer_name}
+
+ list = []
+ queries.keys.each do |k|
+ vs = queries[k]
+ nvisitors = queries[k].size
+
+ total_actions = vs.inject(0){|total,v| total + v.total_actions}
+ total_time = vs.inject(0){|total,v| total + v.time_spent}
+ avg_time = (total_time/nvisitors).to_i
+ avg_time = [avg_time/60 % 60, avg_time % 60].map{|t| t.to_s.rjust(2,'0')}.join(':')
+ list << [k,
+ nvisitors,
+ "%.2f" % ((total_actions+0.0)/nvisitors),
+ avg_time
+
+ ]
+
+ end
+
+ ls = list.sort_by{|q,v,p,t| v}.reverse.first(25)
+ return ls
+
+ end
+
+
+ def search_engine_queries(vs)
+
+ total_visits = vs.select{|v| v.referer_type == 1 and (not v.referer_keyword.nil?)}
+ queries = total_visits.group_by{|v| v.referer_keyword}
+
+ list = []
+
+
+ queries.keys.each do |k|
+ vs = queries[k]
+ nvisitors = queries[k].size
+
+ total_actions = vs.inject(0){|total,v| total + v.total_actions}
+ total_time = vs.inject(0){|total,v| total + v.time_spent}
+ avg_time = (total_time/nvisitors).to_i
+ avg_time = [avg_time/60 % 60, avg_time % 60].map{|t| t.to_s.rjust(2,'0')}.join(':')
+ list << [k,
+ nvisitors,
+ "%.2f" % ((total_actions+0.0)/nvisitors),
+ avg_time
+
+ ]
+
+
+
+ end
+ ls = list.sort_by{|q,v,a,t| v}.reverse.first(25)
+
+ return ls
+ end
+
+ def browsers(vs)
+ vs.group_by{|v| v.config_browser_name}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.first(9)
+ end
+
+
+
+ # @config_os = p.visitors.count(:id,
+ # :group =>:config_os,
+ # :conditions => conditions).sort_by{|x,y| y}.reverse
+ #
+ def config_os(vs)
+ vs.group_by{|v| v.config_os}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.first(9)
+ end
+
+ def config_resolution(vs)
+ vs.group_by{|v| v.config_resolution}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.first(9)
+
+ end
+
+
+
+ # @hours_by_servertime = p.visitors.count(:id,
+ # :group => 'strftime("%H",created_at)',
+ # :conditions => conditions)
+ def hours_by_servertime(vs)
+ vs.group_by{|v| v.created_at.strftime("%H")}.map{|k,v| [k,v.size]}.sort_by {|date,x| date}
+ end
+
+
+ def traffic_sources(vs)
+ ref_type = []
+ ref_type[0] = "Campaign"
+ ref_type[1] = "Search engine"
+ ref_type[2] = "Direct entry"
+ ref_type[3] = "Referring sites"
+
+ size = vs.size
+ vs.group_by{|v| v.referer_type}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse.map{|k,v| [ref_type[k], "%.2f" % (((v+0.0)/size)*100)]}
+
+
+ end
+
+ # @search_engines = p.visitors.count(:id,
+ # :group => 'referer_name',
+ # :conditions => ["referer_type = ? AND created_at > ? AND created_at < ?", "1", "#{bod}", "#{eod}"] ).sort_by{|x,y| y}.reverse
+ def search_engines(vs)
+ vs.select{|v| v.referer_type == 1}.group_by{|v| v.referer_name}.map{|k,v| [k,v.size]}.sort_by{|x,y| y}.reverse
+ end
+
+
+ def time_spent(vs)
+ vs.group_by {|v|v.time_spent_in_words }.map{|k,v| [k,v.size]}.sort_by{|t,s| s}.reverse
+ end
+
+ def time_on_site(vs)
+ if vs.size == 0
+ return 0
+ else
+ secs =vs.inject(0){|sum,v| sum + v.time_spent.to_i}
+ secs = (secs)/vs.size
+ return [ secs/3600, secs / 60, secs % 60 ].map{ |t| t.to_s.rjust(2, '0') }.join(':')
+ #return secs
+ end
+
+
+ end
+
+ def visitors_per_action
+ as = self.actions
+ as.map{|a| [a.path,a.visitors.count(:group => :visitor_id).size]}.sort_by{|u,s| s}.reverse
+ end
+
+ def bounce_rate(vs)
+ if vs.size == 0
+ return 0
+ else
+ one_page_visitors = vs.select{|v| v.actions.size == 1}.size
+ return (one_page_visitors+0.0)/vs.size
+ end
+
+ end
+
+ def new_visits(vs)
+ if vs.size == 0
+ return 0
+ else
+ new_ones = vs.select{|v| v.was_here == 0}.size
+ return (new_ones+0.0)/vs.size
+ end
+
+ end
+
+ def page_views(vs)
+ if vs.size == 0
+ return 0
+ else
+ pages = vs.inject(0){|sum,v| sum + v.actions.size}
+ end
+
+ end
+
+
+
+>>>>>>> ruwa:app/models/project.rb
+ # Check if a visitor in this project was here today
+ def visitor_here_today?(user_settings)
+ md5config = user_settings[:config_md5config]
+ p "MD5 ==>" + user_settings[:config_md5config]
+
+
+ v = self.visitors.find(:first,
+ :conditions => ["created_at > '#{1.day.ago}' AND config_md5config = '#{md5config}'"])
+ return v
+
+ end
+
+
+
+
+ # Set the was_here flag
+ def visitor_was_here!(v)
+ if v.was_here.nil?
+ v.was_here = 1
+ else
+ v.was_here = v.was_here + 1
+ end
+ v.save
+
+ end
+
+
+
+ # Add an action to the project, only if it's new
+ def add_action(action)
+ a = self.actions.find_by_url(action.url)
+ if a.nil?
+ a = action
+ actions << a
+ end
+ return a
+ end
+
+ # Get the visitors between two dates
+ def visitors_between(date_begin, date_end)
+ bod = Time.parse(date_begin).strftime("%Y-%m-%d %H:%M:%S")
+ eod = Time.parse(date_end).end_of_day.strftime("%Y-%m-%d %H:%M:%S")
+
+
+
+ vs = visitors.find(:all, :order => 'created_at', :conditions =>
+ ["created_at > ? AND created_at < ?", "#{bod}", "#{eod}"])
+
+
+ end
+
+
+ # Note, depending on the DB, it could be more efficient to
+ # use a different approach: example,
+ # p.visitors.count(:id, :group => :config_os) or
+ # p.visitors.count(:id, :group => 'strftime("%Y:%m:%d",created_at)')
+ # At the moment is used to group visitors by the time_spent (which is a method in the Visitor class)
+
+ def visitors_count(name, date_begin, date_end)
+
+ vs = visitors_between(date_begin, date_end)
+ hash = vs.group_by{|v| v.send(name)}
+ list = hash.keys.map{|k| [k,hash[k].size]}
+
+ end
+
+
+end
View
13 app/models/tracker.rb
@@ -31,12 +31,11 @@ def self.check_campaign(string)
# Get referer informations
- def self.referer_info(urlref)
+ def self.referer_info(urlref,domain_name)
- # This is the name of the domain running the analysis... at the moment is just localhost
- # Later it should be the name of the host that signed up
- actual_domain = "localhost"
+ #the name of the host that signed up
+ actual_domain = domain_name
urlref = URI.encode(urlref)
@@ -58,7 +57,7 @@ def self.referer_info(urlref)
referer_keyword = Parser::Keyword.get_terms(urlref)
puts referer_keyword
referer_name = search_engine
- elsif actual_domain == referer_name
+ elsif referer_name.match(actual_domain)
referer_type = REFERER_TYPE_DIRECT_ENTRY
referer_keyword = ""
else
@@ -79,7 +78,7 @@ def self.referer_info(urlref)
end
# Return a user_settings hash, containin the information extracted from params[] and request.env
- def self.get_settings(p,r)
+ def self.get_settings(p,r,domain_name)
# get user settings informations
@@ -105,7 +104,7 @@ def self.get_settings(p,r)
browserLang = r.env['HTTP_ACCEPT_LANGUAGE']
- refererinfo = referer_info(p[:urlref])
+ refererinfo = referer_info(p[:urlref],domain_name)
configuration_hash = Digest::MD5.hexdigest(
os +
View
194 app/models/tracker.rb.orig
@@ -0,0 +1,194 @@
+# The Tracker class is used to recognize the visitor
+class Tracker
+
+ REFERER_TYPE_CAMPAIGN = 0
+ REFERER_TYPE_SEARCH_ENGINE = 1
+ REFERER_TYPE_DIRECT_ENTRY = 2
+ REFERER_TYPE_WEBSITE = 3
+
+<<<<<<< HEAD:app/models/tracker.rb
+=======
+ # def kakka
+ # for v in vs
+ # if (not v.referer_name.nil?) and v.referer_name.match(p.name)
+ # puts v.referer_name
+ # v.referer_type = 2
+ # v.save
+ # end
+ # end;0
+ #
+ #
+ # end
+>>>>>>> ruwa:app/models/tracker.rb
+
+ # Check if the query of the url contains "campaign_name" and "campaign_keyword"
+ def self.check_campaign(string)
+ query = URI.parse(string).query
+
+ refs = {}
+
+ if not query.nil?
+ hash = CGI.parse(query)
+ if hash.has_key? "campaign_name"
+ # CGI parse return a list, that's why I only get the first element
+ refs["campaign_name"] = hash["campaign_name"].first
+ end
+
+ if hash.has_key? "campaign_keyword"
+ refs["campaign_keyword"] = hash["campaign_keyword"].first
+ end
+ end
+
+ return refs
+ end
+
+
+ # Get referer informations
+
+<<<<<<< HEAD:app/models/tracker.rb
+ def self.referer_info(urlref)
+
+
+ # This is the name of the domain running the analysis... at the moment is just localhost
+ # Later it should be the name of the host that signed up
+ actual_domain = "localhost"
+=======
+ def self.referer_info(urlref,domain_name)
+
+
+ #the name of the host that signed up
+ actual_domain = domain_name
+>>>>>>> ruwa:app/models/tracker.rb
+
+
+ urlref = URI.encode(urlref)
+
+ campaign = check_campaign(urlref)
+
+ campaign_name = ""
+ referer_name = URI.parse(urlref).host
+ if not campaign.empty?
+
+ referer_type = REFERER_TYPE_CAMPAIGN
+ referer_keyword = campaign["campaign_keyword"]
+ campaign_name = campaign["campaign_name"]
+
+ else
+ search_engine = Parser::Keyword.search_engine(urlref)
+ if not search_engine.nil?
+ referer_type = REFERER_TYPE_SEARCH_ENGINE
+ referer_keyword = Parser::Keyword.get_terms(urlref)
+ puts referer_keyword
+ referer_name = search_engine
+<<<<<<< HEAD:app/models/tracker.rb
+ elsif actual_domain == referer_name
+=======
+ elsif referer_name.match(actual_domain)
+>>>>>>> ruwa:app/models/tracker.rb
+ referer_type = REFERER_TYPE_DIRECT_ENTRY
+ referer_keyword = ""
+ else
+ referer_type = REFERER_TYPE_WEBSITE
+ end
+
+
+
+ end
+
+ return {:referer_name => referer_name,
+ :referer_keyword =>referer_keyword ,
+ :referer_type => referer_type,
+ :campaign_name => campaign_name
+ }
+
+
+ end
+
+ # Return a user_settings hash, containin the information extracted from params[] and request.env
+<<<<<<< HEAD:app/models/tracker.rb
+ def self.get_settings(p,r)
+=======
+ def self.get_settings(p,r,domain_name)
+>>>>>>> ruwa:app/models/tracker.rb
+
+
+ # get user settings informations
+ plugin_Flash = p[:fla]
+ plugin_Director = p[:dir]
+ plugin_Quicktime = p[:qt]
+ plugin_RealPlayer = p[:realp]
+ plugin_Pdf = p[:pdf]
+ plugin_WindowsMedia = p[:wma]
+ plugin_Java = p[:java]
+ plugin_Cookie = p[:cookie]
+ resolution = p[:res]
+
+ user_agent = r.env['HTTP_USER_AGENT']
+
+ os = Parser::UserAgent.get_platform(user_agent)
+ browser = Parser::UserAgent.browser_info(user_agent)
+ browserName = browser[:type]
+ browserVersion = browser[:version]
+
+
+ ip = r.remote_ip
+
+ browserLang = r.env['HTTP_ACCEPT_LANGUAGE']
+
+<<<<<<< HEAD:app/models/tracker.rb
+ refererinfo = referer_info(p[:urlref])
+=======
+ refererinfo = referer_info(p[:urlref],domain_name)
+>>>>>>> ruwa:app/models/tracker.rb
+
+ configuration_hash = Digest::MD5.hexdigest(
+ os +
+ browserName +
+ browserVersion +
+ resolution +
+ plugin_Flash +
+ plugin_Director +
+ plugin_RealPlayer +
+ plugin_Pdf +
+ plugin_WindowsMedia +
+ plugin_Java +
+ plugin_Cookie +
+ ip +
+ browserLang
+ )
+
+ user_settings = {
+ :config_md5config => configuration_hash,
+ :config_os => os,
+ :config_browser_name => browserName,
+ :config_browser_version => browserVersion,
+ :config_resolution => resolution,
+ :config_pdf => plugin_Pdf,
+ :config_flash => plugin_Flash,
+ :config_java => plugin_Java,
+ :config_director => plugin_Director,
+ :config_quicktime => plugin_Quicktime,
+ :config_realplayer => plugin_RealPlayer,
+ :config_windowsmedia => plugin_WindowsMedia,
+ :config_cookie => plugin_Cookie,
+ :location_ip => ip,
+ :location_browser_lang => browserLang,
+
+ # The following parameters do not go into the MD5 hash
+ # the request is done by the user using at his local time
+ :localtime => p[:utc].to_s.to_time,
+ :referer_name => refererinfo[:referer_name],
+ :referer_keyword => refererinfo[:referer_keyword] ,
+ :referer_type => refererinfo[:referer_type],
+ :campaign_name =>refererinfo[:campaign_name], # This field is not stored in the DB ( at the moment )
+ :referer_url => p[:urlref]
+ }
+
+ return user_settings
+
+
+ end
+
+
+
+end
View
2 app/models/visit.rb
@@ -1,6 +1,4 @@
class Visit < ActiveRecord::Base
belongs_to :visitor
belongs_to :action
-
-
end
View
9 app/models/visit.rb.orig
@@ -0,0 +1,9 @@
+class Visit < ActiveRecord::Base
+ belongs_to :visitor
+ belongs_to :action
+<<<<<<< HEAD:app/models/visit.rb
+
+
+=======
+>>>>>>> ruwa:app/models/visit.rb
+end
View
1,567 app/models/visitor.rb.orig
@@ -0,0 +1,1567 @@
+# Visitor handle the visits
+class Visitor < ActiveRecord::Base
+ has_many :visits
+ has_many :actions, :through => :visits
+<<<<<<< HEAD:app/models/visitor.rb
+
+ has_many :clicks
+ has_many :actions_clicked, :through => :clicks ,:source => :action
+
+
+=======
+>>>>>>> ruwa:app/models/visitor.rb
+
+ belongs_to :project
+
+
+ include Parser
+
+ # needed to use distance_of_time_in_words
+ include ActionView::Helpers::DateHelper
+
+ require 'digest/md5'
+
+
+
+ # This method is used to create random settings, (to create a random visitor for testing purpose)
+ def self.random_settings
+
+
+ user_agent = [
+ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
+ "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0 )",
+ "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)",
+ "Mozilla/4.8 [en] (Windows NT 5.1; U)",
+ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.0",
+ "Opera/7.51 (Windows NT 5.1; U) [en]",
+ "Opera/7.50 (Windows XP; U)",
+ "Avant Browser/1.2.789rel1 (http://www.avantbrowser.com)",
+ "Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4) Gecko Netscape/7.1 (ax)",
+ "Mozilla/5.0 (Windows; U; Windows XP) Gecko MultiZilla/1.6.1.0a",
+ "Opera/7.50 (Windows ME; U) [en]",
+ "Mozilla/3.01Gold (Win95; I)",
+ "Mozilla/2.02E (Win95; U)",
+ "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
+ "Googlebot/2.1 (+http://www.googlebot.com/bot.html)",
+ "msnbot/1.0 (+http://search.msn.com/msnbot.htm)",
+ "msnbot/0.11 (+http://search.msn.com/msnbot.htm)",
+ "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",
+ "Mozilla/2.0 (compatible; Ask Jeeves/Teoma)",
+ "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/125.8",
+ "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/85.8",
+ "Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC)",
+ "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7a) Gecko/20040614 Firefox/0.9.0+",
+ "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.15",
+ "Mozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Debian/1.6-7",
+ "ozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Epiphany/1.2.5",
+ "Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040924 Epiphany/1.4.4 (Ubuntu)",
+ "Mozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Galeon/1.3.14",
+ "Konqueror/3.0-rc4; (Konqueror/3.0-rc4; i686 Linux;;datecode)",
+ "Mozilla/5.0 (compatible; Konqueror/3.3; Linux 2.6.8-gentoo-r3; X11;",
+ "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040614 Firefox/0.8",
+ "ELinks/0.9.3 (textmode; Linux 2.6.9-kanotix-8 i686; 127x41)",
+ "ELinks (0.4pre5; Linux 2.6.10-ac7 i686; 80x33)",
+ "Links (2.1pre15; Linux 2.4.26 i686; 158x61)",
+ "Links/0.9.1 (Linux 2.4.24; i386;)",
+ "MSIE (MSIE 6.0; X11; Linux; i686) Opera 7.23",
+ "Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.12",
+ "w3m/0.5.1",
+ "Links (2.1pre15; FreeBSD 5.3-RELEASE i386; 196x84)",
+ "Mozilla/5.0 (X11; U; FreeBSD; i386; en-US; rv:1.7) Gecko",
+ "Mozilla/4.77 [en] (X11; I; IRIX;64 6.5 IP30)",
+ "Mozilla/4.8 [en] (X11; U; SunOS; 5.7 sun4u)",
+ "Mozilla/3.0 (compatible; NetPositive/2.1.1; BeOS)",
+ "Gulper Web Bot 0.2.4 (www.ecsl.cs.sunysb.edu/~maxim/cgi-bin/Link/GulperBot)",
+ "EmailWolf 1.00",
+ "grub-client-1.5.3; (grub-client-1.5.3; Crawl your own stuff with http://grub.org)",
+ "Download Demon/3.5.0.11",
+ "OmniWeb/2.7-beta-3 OWF/1.0",
+ "SearchExpress",
+ "Microsoft URL Control - 6.00.8862"
+ ]
+
+ referers =
+ ["http://www.google.fr/search?hl=fr&q=statistique langues internet&btnG=Recherche Google&meta=",
+ "http://annusiteperso.free.fr/",
+ "http://www.google.com/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=logiciel arab gratuit&spell=1",
+ "http://www.google.de/search?hl=de&q=phpmyvisits&meta=&btnG=Google-Suche",
+ "http://www.narodnjaci-mp3.cro-windows-vista.info/permalink.php?article=6.txt",
+ "http://lelogiciellibre.net/telecharger/statistiques-audience-sites.php",
+ "http://www.framasoft.net/article2101.html",
+ "http://humour25.free.fr/index.php3?page=videos-sexe",
+ "http://search.ke.voila.fr/S/orange?rtype=kw&profil=smart&bhv=web_fr&rdata=google&logid=2093200001174768155748412&keap=28&prevnbans=10&ap=4",
+ "http://translate.google.com/translate_n?hl=en&sl=fr&u=http://www.phpmyvisites.net/&prev=/search%3Fq%3Dopen%2Bsource%2Bweb%2Banalytics%26hl%3Den%26safe%3Doff%26sa%3DG",
+ "http://blog.bobobook.cn/?p=95",
+ "http://www.google.com/search?q=creer site gratuit facile logiciel&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8",
+ "http://search.ke.voila.fr/S/voila?profil=voila&bhv=web_fr&rdata=site%20de%20traduction%20gratuit",
+ "http://www.google.com/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=SUNA,SUNA:2006-25,SUNA:fr&q=configuration des mises %c3%a0 jour",
+ "http://www.phpmyvisites.net/faq/",
+ "http://www.framasoft.net/article2101.html",
+ "http://www.neutrinium238.com/tutoriaux/photoshop/index.php?id=9",
+ "http://www.google.co.th/search?hl=th&q=web statistic php&btnG=%E0%B8%84%E0%B9%89%E0%B8%99%E0%B8%AB%E0%B8%B2&meta=",
+ "http://www.creer-un-site-internet.com/statistiques-site-internet.php",
+ "http://forums.phpbb-fr.com/viewtopic_122536.html?hl=statistique",
+ "http://www.computer.co.hu/index.php?option=com_contact&task=view&contact_id=3&Itemid=3",
+ "http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=phpmyvisites&spell=1",
+ "http://siio.free.fr/12_Images3D_2005_001/index.htm",
+ "http://www.phpmyvisites.us/",
+ "http://philipeau.free.fr/logiciels.htm",
+ "http://www.girls-love-shit.com/",
+ "http://www.satellitemania.it/",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites.net&meta=",
+ "http://www.videoscoop.ch/nature.php",
+ "http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.csr.gov.rw/",
+ "http://www.google.fr/search?q=statistiques php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://fr.search.yahoo.com/search?p=statistiques&fr=yfp-t-501&ei=UTF-8&meta=vc%3D",
+ "http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.tempsgranollers.com/rss.xml",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/",
+ "http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.tempsgranollers.com/rss.xml",
+ "http://www.google.es/search?hl=es&newwindow=1&q=php my visit&btnG=B%C3%BAsqueda&meta=lr%3D",
+ "http://www.google.fr/search?hl=fr&q=creation de site web gratuit avec free&meta=",
+ "http://www.gayfluence.com/index2.php",
+ "http://www.phpscripts-fr.net/scripts/script.php?id=2120",
+ "http://christophe.papin1.free.fr/cuisiniere.php?page=1&total=27",
+ "http://universsimpson.free.fr/ullmanspage.php",
+ "http://www.google.fr/search?q=configuration phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:fr:official&client=firefox-a",
+ "http://www.rapidojeux.com/",
+ "http://www.phpmyvisites.us/",
+ "http://www.unopiuuno.ch/",
+ "http://www.babylon-x-fr.com/vcount/index.php?site=1&date=2007-03-23&period=1&mod=view_visits",
+ "http://www.google.fr/search?hl=fr&q=The server encountered an internal error or misconfiguration and was unable to complete your request.&btnG=Recherche Google&meta=",
+ "http://forum.pluxml.org/viewtopic.php?pid=3670",
+ "http://stats.pointdecroix.org/phpmyvisites.php",
+ "http://www.imageshock.eu/hotovo.php?idcka=69950&klic=st6njip0",
+ "http://www.google.be/search?q=download&hl=fr&lr=lang_fr&start=30&sa=N",
+ "http://www.justiciaviva.org.pe/phpmyvisites/index.php?part=pages&img=1&stats=1&date=2007-03-24&oldd=2007-03-24&per=1&site=1",
+ "http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&kw= &rdata=jeu pour jouer maintenant gratuit",
+ "http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.phwinfo.com/forum/showthread.php?t=1316",
+ "http://by139fd.bay139.hotmail.msn.com/cgi-bin/getmsg?msg=274D9F1D-403E-49E1-A79C-9C568CABCFD0&start=0&len=7532&imgsafe=n&curmbox=00000000%2d0000%2d0000%2d0000%2d000000000001&a=3ce4627258ed7575c8d95f64bf4f6b108d8b30c775297517dcfee686fb26e3e0",
+ "http://gibsea28.wifeo.com/index.php",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.moto-site.ru%2F%3Fpg%3D0201|onclick|L8",
+ "http://www.closerie-des-sacres.com/accueil.php?page=accueil1&lang=fr",
+ "http://www.la-cuisine-marocaine.com/phpmyvisites/index.php?mod=login&error_login=1",
+ "http://www.phpmyvisites.net/phpmv2/",
+ "http://shoe.free.fr/root.php?target=snap",
+ "http://www.phpmyvisites.net/",
+ "http://www.jecolorie.com/",
+ "http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=DVXB,DVXB:2005-27,DVXB:fr&q=php my visite",
+ "http://www.borber.com/en/projects/wp2drupal",
+ "http://www.fil-en-scene.net/stats/phpmyvisites.php",
+ "http://www.cote-dopale.com/statistiques/",
+ "http://del.icio.us/search/?all=statistics&page=2",
+ "http://www.unilago.com.co/",
+ "http://www.offestival.com/contact-fr.html",
+ "http://www.google.fr/search?hl=fr&q=telecharger plusieurs langue dans une site %2Bphp&meta=",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.phpmyvisites.us/documentation/Installation",
+ "http://www.phpscripts-fr.net/scripts/derniers.php",
+ "http://belgant.winetux.be/forums/index.php?act=idx",
+ "http://www.phpmyvisites.net/screenshots.html",
+ "http://www.phpmyvisites.us/",
+ "http://www.logement.com.tn/mvente.htm",
+ "http://www.vinternet.net/",
+ "http://crok.dockyr.com/",
+ "http://www.lorajos.nl/",
+ "http://homeomath.imingo.net/pagedr.htm",
+ "http://www.tophost.it/aiuto/cat2/15/63/",
+ "http://www.guides-webmaster.com/annuaire/",
+ "http://www.google.co.ma/search?hl=fr&q=hebergeur my site for free&meta=",
+ "http://www.delfiweb.com/v2/",
+ "http://www.cuelgatuinvento.com/ideas/modules/news/article.php?storyid=113",
+ "http://www.radioslavonija.hr/program/?o_programu",
+ "http://www.mangas.adultes.free.fr/",
+ "http://forum.telecharger.01net.com/telecharger/programmation_et_developpement/open_source/outil_gratuit_de_statistiques_de_sites_internet_pour_webmasters-311247/messages-1.html",
+ "http://www.phpmyvisites.us/",
+ "http://www.kaerwa-all-stars.de/rechts.htm",
+ "http://www.google.fr/search?hl=fr&q=statistique site web&btnG=Recherche Google&meta=",
+ "http://www.chorus-chanson.fr/HOME2/NUMERO57/dossierBrassens572.htm",
+ "http://www.shirtjemeteenmissie.nl/static/index.php?mod=admin_index",
+ "http://www.phpmyvisites.net/etudes-de-cas.html",
+ "http://www.google.co.ma/search?hl=fr&q=logiciel gratuit&meta=",
+ "http://www.fnar-tounes.com/sitemap.php",
+ "http://www.11vm-serv.net/index.php?p=domregister",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&q=Fatal error%3A Call to undefined function&btnG=Rechercher&meta=lr%3Dlang_fr",
+ "http://proxyjoint.com/Y29t/ZGdhbWVza3k/d3d3/aHR0cDovL3d3dy5kZ2FtZXNreS5jb20vY2hlY2tvdXRfcGF5bWVudC5waHA/69/0/",
+ "http://blog.bretagne-balades.org/index.php/",
+ "http://www.framasoft.net/article2101.html",
+ "http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=GGLJ,GGLJ:2006-40,GGLJ:fr&q=phpmyvisites",
+ "http://www.unilago.com.co/",
+ "http://www.google.ca/search?hl=fr&q=statistiques site web&btnG=Recherche Google&meta=",
+ "http://wars-world.fr/login.php",
+ "http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fal-kanz.org%2Fblog%2F|onclick|L0",
+ "http://news.itoncc.com/MingPao/eaindex.htm",
+ "http://yanael.com/",
+ "http://www.google.com/search?hl=en&rls=SUNA,SUNA:2006-13,SUNA:en&q=related:www.platinium-ca.com/nice.htm",
+ "http://search.live.com/results.aspx?q=undefined&first=31&FORM=PERE3",
+ "http://www.neutrinium238.com/tutoriaux/photoshop/utiliser_outil_plume.html",
+ "http://www.scat-hell.com/",
+ "http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&rdata=GRATUIT&logid=1533300001174789477883674&keap=68&prevnbans=11&ap=8",
+ "http://www.google.fr/search?hl=fr&q=simsun.ttc download&meta=",
+ "http://www.webview360.com/room?room=165399",
+ "http://www.zone-webmasters.net/scripts-php-41.php",
+ "http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=mesure d%27audience&spell=1",
+ "http://www.mercy-mercy.com",
+ "http://www.xxxpass.se/",
+ "http://www.phpmyvisites.net/",
+ "http://www.google.ca/search?hl=en&q=phpMyVisites&meta=",
+ "http://www.google.fr/search?hl=fr&rls=GGLJ,GGLJ:2006-29,GGLJ:fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=php my visite&spell=1",
+ "http://foro.powers.cl/viewtopic.php?t=190228&sid=44b527252cd76e00ec9da17a102b0bda",
+ "http://www.thediary.org/coleo",
+ "http://www.girls-love-shit.com/",
+ "http://didier-ott.no-ip.org/public/genea/cousins/diff/diff%20Files/doc6905.htm",
+ "http://www.google.fr/search?hl=fr&q=statistique visite en PHP rapide&btnG=Rechercher&meta=",
+ "http://seznamka.uzdroje.cz/",
+ "http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rlz=1T4HPEB_frFR214FR214&q=erreur 500",
+ "javascript:Defcat(live)",
+ "http://imagelatente.ernestotimor.com/pages/ym-houses_11b.html",
+ "http://www.google.fr/search?hl=fr&q=PHPMyVisites&btnG=Recherche Google&meta=lr%3Dlang_fr",
+ "http://news.itoncc.com/MingPao/jaindex.htm",
+ "http://www.tosdn.com/script/script.php?sid=2622&scat=23",
+ "http://www.bswr.de/Fauna/Wanderfalke/OB_live1.htm",
+ "http://linux.tlk.fr/games/Powermanga/screenshots/",
+ "http://msdgmedia.free.fr/PagesNews/PageNews.html",
+ "http://www.dotclear.net/forum/viewtopic.php?id=26210",
+ "http://www.phpscripts-fr.net/scripts/script.php?id=2120",
+ "http://szex.szextra.hu/cikk/?r=1",
+ "http://www.startrek-voyager.nl/voyager/dek1.htm",
+ "http://www.svenalbert.de/24-0-meine-gedanken.html",
+ "http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+ "http://siscalocca.org/blog/index.php",
+ "http://search.ke.voila.fr/S/orange?rtype=kw&profil=smart&bhv=web_fr&kw= &rdata=moteurs de recherches",
+ "http://www.phpmyvisites.us/requirements.html",
+ "http://www.roi-president.com/galerie/pages/Cardinal_de_Richelieu.htm",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://e.bardiau.free.fr/bonheur.html",
+ "http://www.phpmyvisites.net/forums/index.php/t/1328/0/",
+ "http://www.geraldlevanchau.com/stat/index.php?site=1&date=2007-03-24&period=1&mod=view_source",
+ "http://www.asap-provence.fr/?get=Links&do=top-rank",
+ "http://www.google.fr/search?hl=fr&q=logiciel pour creer des site internet gratuit avec exemple&meta=",
+ "http://www.meteo.lt/oru_prognoze.php",
+ "http://meshlab.sourceforge.net/phpmv2/index.php?site=1&period=1&mod=view_referers&date=2007-03-22",
+ "http://www.icaformation.fr/Presentation.php",
+ "http://search.ke.voila.fr/S/orange?sev=&rtype=kw&profil=orange&bhv=web_fr&rdata=SOUMETTRE UN SITE%2BORANGE&submit.x=32&submit.y=5",
+ "http://www.google.cn/search?q=CV de statistique&complete=1&hl=zh-CN&inlang=zh-CN&newwindow=1&client=aff-5566&channel=searchbutton2&hs=z7h&affdom=5566.net&start=40&sa=N",
+ "http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_visits",
+ "http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_pages",
+ "http://membres.lycos.fr/ecrausaz/?",
+ "http://www.commentcamarche.net/forum/affich-1081477-adresse-ip-visiteur",
+ "http://www.phpmyvisites.net/forums/index.php/t/3252/0/",
+ "http://www.phpmyvisites.net/documentation/Accueil",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.phpmyvisites.net/",
+ "http://www.framasoft.net/article2101.html",
+ "http://www.framasoft.net/article2101.html",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.phpmyvisites.net/documentation/Accueil",
+ "http://www.phpmyvisites.net/documentation/Accueil",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.phpmyvisites.net/",
+ "http://www.framasoft.net/article2101.html",
+ "http://www.lust-and-cross.com/",
+ "http://frank.albrecht.free.fr/gestclasse_v7/index.php?page=accueil",
+ "http://www.tendanceouest.com/radiolive.htm",
+ "http://www.delfiweb.com/v2/",
+ "http://www.pieces-auto-export.com/casse_auto_Aunis.php",
+ "http://www.lavillat.com/news.php",
+ "http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+ "http://forums.wifeo.com/viewtopic.php?t=4997",
+ "http://www.webmaster-experience.net/",
+ "http://www.malta.poznan.pl/",
+ "http://www.controlcomp.eu/webstat/demo",
+ "http://www.google.fr/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-22,GGGL:fr&q=lettre pour logo",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+ "http://www.linuxorable.fr/croquerrant/phpmyvisit/phpmyvisites.php",
+ "http://www.google.fr/search?hl=fr&rls=GGIH,GGIH:2007-02,GGIH:fr&q=related:www.tele2.fr/",
+ "http://www.lapalousey.com/agence_cav4.php?select=3&n=3",
+ "http://www.lapalousey.com/agence_cav2.php?select=3&n=3&cat=1",
+ "http://perso.orange.fr/amp-racing/cadre/contenu.htm",
+ "http://www.google.fr/custom?q=fonctionnement de debug&hl=fr&oe=ISO-8859-1&client=pub-3703351194586770&channel=1361273120&cof=FORID:1%3BGL:1%3BLBGC:336699%3BLC:%230000ff%3BVLC:%23663399%3BGFNT:%230000ff%3BGIMP:%230000ff%3BDIV:%23336699%3B&domains=french.ircfast.com&start=20&sa=N",
+ "http://www.mycodes.net/soft/6536.htm",
+ "http://www.kolucci.ru/",
+ "http://www.google.fr/search?hl=fr&q=outil stats php mysql &meta=",
+ "http://www.phpmyvisites.net/",
+ "http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&kw= &rdata=dictionnaire gratuit",
+ "http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+ "http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+ "http://aqua.lorca.free.fr/poissons.php3",
+ "http://www.phpmyvisites.net/forums/index.php/t/2593/0/",
+ "http://www.controlcomp.eu/webstat/demo",
+ "http://www.dhammadana.org/dhamma/3_caracteristiques.htm",
+ "http://www.phpmyvisites.us/",
+ "http://aj.garcia.free.fr/index10.htm",
+ "http://www.hotel-post-nesselwang.de/inh_home.htm",
+ "http://www.sex974.com/videocochon.php",
+ "http://www.siteporno.be/stats/index.php?mod=login",
+ "http://www.rouen.fr/vousetes/touriste",
+ "http://www.phpmyvisites.net/",
+ "http://www.google.fr/search?hl=fr&q=phpMyVisites&btnG=Rechercher&meta=cr%3DcountryFR",
+ "http://cgpa64.free.fr/bdd/base.php",
+ "http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=cr%C3%A9er un logiciel de jeu entierement gratuit&spell=1",
+ "http://delmotte.brice.free.fr/heol/maisonautonome/electricite.php",
+ "http://www.google.fr/search?q=oscommerce&hl=fr&lr=lang_fr&start=40&sa=N",
+ "http://xcell05.free.fr/pages/divers/index.html",
+ "http://www.google.it/search?hl=it&client=firefox-a&channel=s&rls=org.mozilla%3Ait%3Aofficial&hs=fSj&q=phpmyvisits&btnG=Cerca&meta=",
+ "http://www.balsa-composites.com/",
+ "http://msdgmedia.free.fr/Multimedia/Ge_FeuilleVolante/FeuilleVolanteComplet.htm",
+ "http://www.starclubbing.com/component/option,com_zoom/Itemid,31/",
+ "http://www.futureadvertising.net/",
+ "http://www.google.fr/search?hl=fr&q=logiciel libre cr%C3%A9ation site web &meta=",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/",
+ "http://www.google.fr/search?q=logiciel gratuit&hl=fr&client=firefox-a&channel=s&rls=org.mozilla:fr:official&hs=qxj&start=10&sa=N",
+ "http://www.google.fr/search?hl=fr&q=PHP Fatal error%3A Call to undefined function utf8_decode&btnG=Rechercher&meta=",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=Call to undefined function%3A imagecreatefrompng%28%29 easyphp&meta=&btnG=Recherche Google",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=Call to undefined function%3A imagecreatefrompng%28%29 easyphp&meta=&btnG=Recherche Google",
+ "http://vauv.net/index.php",
+ "http://planetenat2.free.fr/apljav/applets_java.htm",
+ "http://www.lascholastique.fr/stats/phpmyvisites.php",
+ "http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=traduire en espagnol %22il faut que%22&spell=1",
+ "http://www.lessymboles.com/article_maladieschroniques.htm",
+ "http://www.phpmyvisites.net/phpmv2/",
+ "http://zerod.info/videos/",
+ "http://by140fd.bay140.hotmail.msn.com/cgi-bin/getmsg?msg=FD8E5F4E-1F13-4322-AC97-82AB6D74FDB8&mfs=&_HMaction=move&tobox=00000000-0000-0000-0000-000000000002&direction=next&wo=&curmbox=00000000%2d0000%2d0000%2d0000%2d000000000001&a=946d46e12e9c2bbdf47228e3483f2962a4c2c7622e3139d82e3a8f498e6c108f",
+ "http://www.google.fr/search?hl=fr&q=documentation logiciel statistique&meta=",
+ "http://laville.respublicae.org/eng/thecity.htm",
+ "http://www.phpmyvisites.net/etudes-de-cas.html",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.phpscripts-fr.net/scripts/scripts.php?cat=Statistiques&deb=10&tri=NOM&sens=ASC",
+ "http://www.phpmyvisites.us/",
+ "http://www.google.be/search?hl=fr&q=site php my sql gratuit&meta=",
+ "http://www.fengshui.antylicho.pl/miejsca-mocy/",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Rechercher&meta=",
+ "http://search.ke.voila.fr/S/orange?sev=&rtype=kw&profil=orange&bhv=web_fr&rdata=dictionnaire gratuit",
+ "http://toubibs.free.free.fr/index2.php?page=Votre%20ordinateur&menu=Votre%20ordinateur",
+ "http://www.google.com/search?client=opera&rls=en&q=open source web analytic&sourceid=opera&ie=utf-8&oe=utf-8",
+ "http://fr.google.mozilla.com/search?q=site de telechargement gratuit et rapide&hl=fr&lr=&start=10&sa=N",
+ "http://www.google.com/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=SUNA,SUNA:2007-12,SUNA:fr&q=telecharger net stats",
+ "http://www.lagratte.net/index.php?error=404",
+ "http://www.google.fr/search?q=installer javascript&hl=fr&start=10&sa=N",
+ "http://www.educlasse.ch/",
+ "http://www.sacaboulons.com/index.php?lng=fr",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=erreur 500&meta=&btnG=Recherche Google",
+ "http://www.frxoops.org/modules/newbb/viewtopic.php?topic_id=20495&forum=12",
+ "http://search.free.fr/google.pl",
+ "http://mon-evenement.com/annuaire/annuaire_des_prestataires/fiche_prest.php?id_annu_prest=2990&cp=91100&submit=4",
+ "http://209.85.129.104/search?q=cache:z-1yaW4CGjAJ:svt.ac-dijon.fr/dyn/article.php3%3Fid_article%3D62 ministere education nationale DP%26D svt coll%C3%A8ge&hl=fr&strip=1",
+ "http://tropics-l.nuxit.net/lin%e9/Comming%20Soon%20-%20Lin%e9arts.net.htm",
+ "http://localhost/essai/phpmyvisites_2_2/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_visits",
+ "http://universsimpson.free.fr/itchyscratchy.php",
+ "http://www.google.fr/search?q=php my visit&ie=utf-8&oe=utf-8&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&hs=Kq5&q=joomla mesure d audience&btnG=Rechercher&meta=",
+ "http://sd-4869.dedibox.fr/mariage/index.php?option=com_content&task=category&sectionid=1&id=1&Itemid=5",
+ "http://www.phpsecure.info/v2/zone/pComment?d=1093902187",
+ "http://www.mon-evenement.com/annuaire/annuaire_des_prestataires/fiche_prest.php?submit=7&id_annu_prest=1017&cp=26790",
+ "http://www.phpmyvisites.net/",
+ "http://www.cri74.org/docs/web/",
+ "http://www.google.fr/search?q=The server encountered an internal error or misconfiguration and was unable to complete your request&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&",
+ "http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+ "http://www.google.fr/search?q=phpmyvisit&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:fr:official&client=firefox-a",
+ "http://weblog.photos.free.fr/dotclear/index.php?General",
+ "http://www.webrankinfo.com/forums/viewtopic_45017.htm",
+ "http://www.jetelecharge.com/Scripts/530.php",
+ "http://www.google.fr/search?hl=fr&q=telecharger logiciel gratuit pour sites pour creation de site web&btnG=Recherche Google&meta=",
+ "http://www.roseindia.net/software-technology-news/software-news.jsp?newsid=3503",
+ "http://perso.numericable.fr/~penieric/",
+ "http://www.google.com/search?hl=fr&q=logiciel de creation de calendrier en php&lr=",
+ "http://forum.pctuning.cz/viewforum.php?f=52",
+ "http://search.ke.voila.fr/S/voila?profil=voila&bhv=web_fr&rdata=google%20images",
+ "http://www.phpmyvisites.net/",
+ "http://www.fhs-ecommerce.nl/custom.php",
+ "http://www.phpmyvisites.net/forums/index.php/t/1341/0/",
+ "http://www.google.fr/search?hl=fr&q=free web&btnG=Rechercher&meta=lr%3Dlang_fr",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr-FR%3Aofficial&channel=s&hl=fr&q=fput %2B socket&meta=&btnG=Recherche Google",
+ "http://www.php-open.com/open191424.htm",
+ "http://www.google.fr/custom?hl=fr&ie=ISO-8859-1&oe=ISO-8859-1&client=pub-6180957820147812&cof=FORID%3A1%3BGL%3A1%3BL%3Ahttp%3A%2F%2Fwww.amipclub.com%2Fnavlogo.png%3BLH%3A35%3BLW%3A100%3BLBGC%3A336699%3BLP%3A1%3BLC%3A%230066cc%3BVLC%3A%23663399%3BGFNT%3A%23e1771e%3BGIMP%3A%23e1771e%3BDIV%3A%23336699%3B&q=logiciel cr%E9ation site internet test&meta=",
+ "http://aj.garcia.free.fr/index10.htm",
+ "http://question.com/What/de/you/want/to/know/my/referer?",
+ "http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+ "http://www.phpmyvisites.net/",
+ "http://www.adresse-ip.net/adresse-ip-complet2.php",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/fonctionnalites.html",
+ "http://controlcomp.eu/webstat/demo",
+ "http://www.narodnjaci-mp3.cro-windows-vista.info/-Legende-Slagera-Muzika-grada-mog-2-17-Hej-sta-je-s-vama-ljudi.MP3.php",
+ "http://www.narodnjaci-mp3.cro-windows-vista.info/64-Budjenje---Sve-da-hocu.mp3.php",
+ "http://saggerboys.com/",
+ "http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+ "http://www.google.co.ma/search?hl=en&q=creation gratuite de site",
+ "http://www.phpscripts-fr.net/scripts/script.php?id=2120",
+ "http://www.google.fr/custom?domains=phpmyvisites.net&q=WWW&sa=Recherche&sitesearch=phpmyvisites.net&client=pub-4902541541856011&forid=1&ie=ISO-8859-1&oe=ISO-8859-1&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A1%3B&hl=fr",
+ "http://www.google.fr/search?hl=fr&q=related:perso.orange.fr/sos.derivesectaire/ARCHIVES%25202003.htm",
+ "http://www.webdrole.com/histoire_drole/Sexe_&_cochon/Sexe_&_cochon01.htm",
+ "http://www.commentcamarche.net/forum/affich-1081477-adresse-ip-visiteur",
+ "http://www.google.fr/search?hl=fr&q=phpmy visites&btnG=Rechercher&meta=",
+ "http://7ii7.net/j/",
+ "http://www.google.fr/search?hl=fr&q=phpmv2 &btnG=Rechercher&meta=lr%3Dlang_fr",
+ "http://aj.garcia.free.fr/index1.htm",
+ "http://www.google.com/search?q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+ "http://www.google.com/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=http://www.phpmyvisites.net&spell=1",
+ "http://search.ninemsn.com.au/results.aspx?q=download chinese simplifie&geovar=3025&FORM=REDIR",
+ "http://www.google.fr/search?hl=fr&q=ins%C3%A9rer du java&meta=",
+ "http://www.revolutionsoundrecords.org/punbb/viewtopic.php?pid=13077",
+ "http://rnaud.net/",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=php my visites&meta=&btnG=Recherche Google",
+ "http://www.google.fr/search?hl=fr&q=php my visites&btnG=Recherche Google&meta=",
+ "http://www.google.fr/search?q=web statistics open source&ie=utf-8&oe=utf-8&rls=org.debian:en-US:unofficial&client=firefox-a",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+ "http://www.phpmyvisites.net/documentation/Accueil",
+ "http://www.21andy.com/blog/20050821/11.html",
+ "http://www.rouen.fr/breve/3684-carnavaldesenfants",
+ "http://www.aolrecherche.aol.fr/aol/search?enc=iso&p=lb&q=DEMO",
+ "http://www.phpmyvisites.net/",
+ "http://www.google.fr/search?q=maximum execution time&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:fr:official",
+ "http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_source",
+ "http://dolycho.free.fr/zenphoto/",
+ "http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=statistiques mots cl%C3%A9s sur Internet &spell=1",
+ "http://www.phpmyvisites.net/",
+ "http://www.mycodes.net/soft/6536.htm",
+ "http://www.joomlafrance.org/8/32.html",
+ "http://www.tophost.it/aiuto/cat2/15/63/",
+ "http://www.phpmyvisites.us/",
+ "http://groups.google.fr/group/developpeur/web/applications-php",
+ "http://www.ddrbordeaux.com/Site/Galerie/DDRBordeauxGL05/DDRBordeauxGL05.html",
+ "http://www.google.com/search?hl=fr&rls=GGLG,GGLG:2005-45,GGLG:fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=logiciel gestion de sites gratuit&spell=1",
+ "http://www.raleigh-northcarolina.biz/search/Agriculture.html",
+ "http://www.google.com/search?hl=en&q=related:perso.orange.fr/lelogisdantan/",
+ "http://www.google.fr/search?q=faire un chmod&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.forum-marketing.com/-t-1685-0.html",
+ "http://mrfou.ath.cx/palune/",
+ "http://www.pokerhouse.co.uk/virutal.html",
+ "http://www.phpmyvisites.net",
+ "http://www.cmsps.cz/vedeni-skoly",
+ "http://allez-stade-de-reims.wifeo.com/calendrier.php",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&q=creation d un site web simple et gratuit&btnG=Rechercher&meta=",
+ "http://www.google.com/search?hl=fr&q=phpMyVisites 2.2 mise a jour&btnG=Rechercher&lr=",
+ "http://linearts.net/forums/index.php?showtopic=1256",
+ "http://www.pieces-auto-export.com/autos_occasion_autos_accidentees.php",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla:fr:official&hs=aG8&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=compatibilit%C3%A9 php5&spell=1",
+ "http://www.mywaysites.info/T4_0_2/index.php?id=132",
+ "http://www.planetenergie.org/article.php3?id_article=486",
+ "http://binarylook.net/2007/03/kak-prodvigat-open-source/",
+ "http://patatorandco.free.fr/?page=liens",
+ "http://www.schnouki.net/post/2007/01/15/Plugin-phpMyVisites-pour-DotClear-2-52",
+ "http://besttrader.free.fr/pub/Linux_Debian_on_AMILO_Si_1520/index.html",
+ "http://www.prepaidlegal.com/",
+ "http://www.phpmyvisites.net/fonctionnalites.html",
+ "http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=fr_en&url=http%3A%2F%2Fwww.altersystems.fr%2FProduits-Joomla.Extensions-phpMyVisites.Tracker.html",
+ "http://sex-sensuality.com/",
+ "http://www.narodnjaci-mp3.cro-windows-vista.info/Narodni-MEGAMIX-2001-ala-Cika-DejOO.php",
+ "http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&kw= &rdata=english",
+ "http://aj.garcia.free.fr/Livret9/PageGardeLivret9.htm",
+ "http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+ "http://www.phpmyvisites.us/documentation/Main_Page",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/",
+ "http://www.google.fr/search?q=logiciel de creation de site en php&hl=fr",
+ "http://fr.search.yahoo.com/search?ei=UTF-8&p=logiciel gratuit&meta=vl%3D&ybs=0&fl=1&vl=&pstart=1&fr=slv7-&b=21",
+ "http://www.phpmyvisites.net/forums/index.php/t/1727/0/",
+ "http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.ladsdate.net%2F|onclick|L0",
+ "http://www.rochebuffere.com/",
+ "http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=RNWE,RNWE:2004-53,RNWE:en&q=statistiques recherches internet",
+ "http://www.google.fr/search?hl=fr&q=stats sites &meta=",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+ "http://theglu.tuxfamily.org/index.php/post/2007/01/05/Aidez-la-recherche-avec-les-resources-inutilisees-de-votre-pc-boinc-world-community-grid-fightaids",
+ "http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.paysage-photo.ch%2F|onclick|L7",
+ "http://autoimage.autoweb.cz/audi/index.htm",
+ "http://www.easy-script.com/script.php?c=php&sc=stat&ord=click",
+ "http://www.google.fr/search?hl=fr&q=configurer le temp d%27un cookie &meta=",
+ "http://www.google.fr/search?hl=fr&q=lettre de augmentation graduit&btnG=Recherche Google&meta=",
+ "http://etablissements.ac-amiens.fr/0601188r/ecrire/?exec=admin_plugin",
+ "http://www.phpscripts-fr.net/scripts/derniers.php",
+ "http://universsimpson.free.fr/itchyscratchy.php",
+ "http://www.phpbank.net/description.php?id=1270",
+ "http://www.forzamotorsport2.fr/recherche/google-demo.html",
+ "http://www.apprendre-en-ligne.net/blog/index.php",
+ "http://www.google.fr/search?q=comparaison google analytics et xiti&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_frFR210FR210",
+ "http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+ "http://www.skunk.powa.fr/shadow/login.php",
+ "http://www.phpscripts-fr.net/scripts/scripts.php?cat=Statistiques&deb=10&tri=NOM&sens=ASC",
+ "http://216.239.59.104/search?q=cache:-TzFlx2Y6p8J:www.scienceetviejunior.fr/svj.php%3FrubriqueSvj%3Dindex-gratuit-article%255Camp%3Bid_article%3D1206 science et vie junior&hl=fr&strip=1",
+ "http://www.google.fr/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-39,GGGL:fr&q=phpmyvisites",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/",
+ "http://www.duplication-video.com/supports-video.html",
+ "http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rlz=1T4GFRG_frMA215MA215&q=t%c3%a9l%c3%a9charger logiciel nintendo ds",
+ "http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rls=GGLG,GGLG:2005-39,GGLG:fr&q=phpmyvisits",
+ "http://www.idbleues.com/catalogue-materiel.php",
+ "http://dadoun.net/",
+ "http://rcma.free.fr/escort/2004.htm",
+ "http://www.google.ca/search?hl=fr&q=stats site web&btnG=Rechercher&meta=",
+ "http://www.google.fr/search?hl=fr&rlz=1T4ADBR_frFR212FR212&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=phpmyvisites&spell=1",
+ "http://cmkh.net/?q=user/1",
+ "http://www.souvenirducameroun.com/productssimple.html",
+ "http://www.epochtimes.com.ua/",
+ "http://www.google.fr/search?hl=fr&rlz=1T4GFRB_frFR206FR207&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=wiki licence application web&spell=1",
+ "http://www.pasdagence.com/",
+ "http://www.google.fr/search?hl=fr&q=The server encountered an internal error or misconfiguration and was unable to complete your request.&btnG=Recherche Google&meta=",
+ "http://www.gea-erge.fr/",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+ "http://szex.szextra.hu/index.php",
+ "http://www.google.fr/search?q=mesure audience site&hl=fr&rls=GGLG,GGLG:2006-10,GGLG:fr&start=10&sa=N",
+ "http://akatsuki.kurai.free.fr/site.php",
+ "http://tw.search.yahoo.com/search?fr=fp-tab-web-t&ei=UTF-8&p=phpMyVisites",
+ "http://www.google.com/search?client=safari&rls=en&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.google.fr/search?hl=fr&rls=GGIC,GGIC:1970--2,GGIC:fr&q=related:www.free.fr/",
+ "http://www.google.fr/search?hl=fr&q=related:perso.orange.fr/resistances/lactonlesap/index.htm",
+ "http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+ "http://universsimpson.free.fr/ullmanspage.php",
+ "http://www.google.fr/search?hl=fr&q=demande emploi mise %C3%A0 jour site internet&btnG=Rechercher&meta=lr%3Dlang_fr",
+ "http://www.juggletube.com/",
+ "http://www.google.com/search?hl=fr&client=safari&rls=fr&q=statistique internet gratuit&btnG=Rechercher&lr=",
+ "http://www.google.com/search?q=www.free.fr coppermine &rls=com.microsoft:fr:IE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7&rlz=1I7SKPB",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.agilav.fr/DepartementReconditionnement.html",
+ "http://www.phpmyvisites.us/",
+ "http://www.google.com/search?hl=fr&q=statistiques site&lr=lang_fr",
+ "http://www.librairie-portugaise.com/",
+ "http://www.raleigh-northcarolina.biz/search/Slippage.html",
+ "http://blog-perso.onzeweb.info/2006/05/06/wordpress-phpmyvisites-10/",
+ "http://starclubbing.com/",
+ "http://www.gastonspectacles.com/?gclid=COve_eGmkIsCFQIvlAodV2mvSQ",
+ "http://www.phpmyvisites.net/forums/index.php/t/2677/0/",
+ "http://www.google.com/search?client=safari&rls=fr&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+ "http://search.ke.voila.fr/S/orange?rtype=kw&profil=smart&bhv=web_fr&rdata=GOOGLE&logid=2354200001174838174938809&keap=28&prevnbans=10&ap=4",
+ "http://universsimpson.free.fr/ullmanspage.php",
+ "http://iut-rcc.univ-reims.fr/accueil.php?menu=5&lang=fr",
+ "http://www.industriespionage.net/main/?page_id=4",
+ "http://www.ethicall-telecom.fr/ect_webcount/",
+ "http://www.google.co.ma/search?hl=fr&q=creer un sites web gratuit&meta=",
+ "http://www.phpmyvisites.net/forums/index.php?t=rview&goto=13676",
+ "http://www.google.com/search?client=opera&rls=en&q=phpmyvisites&sourceid=opera&ie=utf-8&oe=utf-8",
+ "http://127.0.0.1/www.info-distrib.fr/?sct=liste&url=carte_mere.htm",
+ "http://www.google.ch/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=6Y&q=statistiques web&btnG=Rechercher&meta=",
+ "http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rls=GFRD,GFRD:2007-09,GFRD:fr&q=phpmyvisits",
+ "http://www.nuitpourpre.net/leblog/index.php/?q=",
+ "http://www.sex974.com/goodies.php",
+ "http://beet.ddl.free.fr/index.php?id=05",
+ "http://sex974.com/abonnement.php",
+ "http://www.revolunet.com/sites.utiles.asp?Toutes-Statistiques%20PHP/MySQL",
+ "http://www.phpmyvisites.net/",
+ "http://www.opensourcescripts.com/dir/PHP/Web_Traffic_Analysis/297.html",
+ "http://www.google.com/search?sourceid=gmail&q=phpmyvisites",
+ "http://www.google.es/search?hl=es&q=download simsun.ttc&btnG=B%C3%BAsqueda&meta=",
+ "http://www.raleigh-northcarolina.biz/search/May.html",
+ "http://cm5.free.fr/index.htm",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=ps&q=php my stat&btnG=Rechercher&meta=",
+ "http://www.gsm-wifi.net/index.php?option=com_frontpage&Itemid=1",
+ "http://search.msn.fr/results.aspx?q=logiciel gratuit&FORM=MSN6B&lang=fr-fr&cp=1252",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=fJq&q=stats phpmyvisite&btnG=Rechercher&meta=",
+ "http://www.google.com/search?client=safari&rls=fr-fr&q=php statistics&ie=UTF-8&oe=UTF-8",
+ "http://www.google.com/search?hl=fr&q=d%C3%A9mo&btnG=Recherche Google&lr=",
+ "http://ebw2.be/Saint-Joseph_Tubize/STJoseph.html",
+ "http://www.phpmyvisites.net/phpmv2/",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=aNq&q=php typer les m%C3%A9thodes int string&btnG=Rechercher&meta=",
+ "http://www.google.com/search?client=opera&rls=en&q=phpmyvisites&sourceid=opera&ie=utf-8&oe=utf-8",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.castelpourpre.com/maison.html",
+ "http://www.castelpourpre.com/maison.html",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=phpmv2&meta=&btnG=Recherche Google",
+ "http://www.google.fr/search?q=SCRIPT STATISTIQUE&hl=fr&pwst=1&start=10&sa=N",
+ "http://www.antennereunion.fr/rubrique.php3?id_rubrique=41&debut_page=432",
+ "http://www.phpmyvisites.net/",
+ "http://www.0-8.biz/",
+ "http://www.kess.snug.pl/",
+ "http://www.google.ch/search?q=statistiques gratuites site web&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:fr:official",
+ "http://www.google.fr/search?hl=fr&q=tout les site gratuit logiciel&btnG=Recherche Google&meta=",
+ "http://www.phpmyvisites.us/",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=phpmyvisites&meta=&btnG=Recherche Google",
+ "http://www.animal-virtuel.com/stats/phpmyvisites.php",
+ "http://www.fruits-basket-temple.com/index.php?section=anime",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+ "http://www.pilarcanalda.com/inici/index.php",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.google.com/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&lr=",
+ "http://www.phpmyvisites.us/",
+ "http://www.phpmyvisites.net/",
+ "http://www.phpmyvisites.net/",
+ "http://www.google.com/search?hl=fr&q=PhpMyVisit&btnG=Rechercher&lr=lang_fr",
+ "http://info-afrique.be/",
+ "http://www.jazzentete.com/",
+ "http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.annuaire-telephone-portable.com%2Fsat%2Fdetection.php|onclick|L0",
+ "http://www.phpmyvisites.net/forums/index.php/t/2613/0/",
+ "http://www.google.fr/search?hl=fr&q=logiciel gratuit open source&meta=",
+ "http://www.phpmyvisites.us/",
+ "http://spiritangeldesign.free.fr/index.php?p=credit",
+ "http://generation1.free.fr/rubriques.htm",
+ "http://www.google.fr/search?hl=fr&q=outil informatique et statistique&btnG=Recherche Google&meta=",
+ "http://www.commentcamarche.net/forum/affich-2802486-hebergement-et-statistiques-de-visites",
+ "http://www.google.be/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=phpmyvisites&meta=&btnG=Recherche Google",
+ "http://www.phpmyvisites.net/forums/index.php/t/1497/0/",
+ "http://www.nili.be/",
+ "http://www.google.com/search?hl=fr&client=safari&rls=fr&q=statistiques php&btnG=Rechercher&lr=",
+ "http://www.parisrandovelo.com/forum/viewtopic.php?t=605&start=15",
+ "http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=cr%3DcountryFR",
+ "http://natation.privas.dyndns.org/modules/intro_cnp/",
+ "http://www.phpmyvisites.net/",
+ "http://www.digigasin.ch/product_info.php?products_id=2214&osCsid=70959f3746c784495a5032cbb79dbc3d",
+ "http://msdgmedia.free.fr/Multimedia/DessinerPlume/index.htm",
+ "http://msdgmedia.free.fr/Multimedia/DessinerPlume/index.htm",
+ "http://fr.ask.com/web?q=gratuit&l=dir&o=1124",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&hs=r2q&q=fichier contenant les sites visit%C3%A9s&btnG=Rechercher&meta=",
+ "http://www.lorajos.nl/",
+ "http://www.rugby13montpellier.com/shop.php",
+ "http://www.beautediscount.com/",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&q=php site web&btnG=Rechercher&meta=",
+ "http://www.forum-newbeetle.fr/",
+ "http://france.catsfamily.net/main/coupsdecoeur.html",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+ "http://www.phpscripts-fr.net/scripts/derniers.php",
+ "http://generation1.free.fr",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=kwB&q=free statistiques&btnG=Rechercher&meta=cr%3DcountryFR",
+ "http://www.google.fr/search?hl=fr&q=tout les site gratuit logiciel&btnG=Recherche Google&meta=",
+ "http://forum.tvsport.ro//index.php?s=d2589da3f1f7173e22d695934e8fe0f4&act=Forward&f=92&t=2053",
+ "http://www.google.fr/search?hl=fr&q=creation site libre OR open source&btnG=Rechercher&meta=",
+ "http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+ "http://www.google.fr/search?q=unable open&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.google.fr/search?hl=fr&q=statistiques sites&meta=",
+ "http://www.phpmyvisites.us/requirements.html",
+ "http://www.phpmyvisites.us/",
+ "http://www.satellitemania.it/",
+ "http://www.google.com.tr/search?hl=tr&q=phpmyvisites&meta=",
+ "http://www.phpmyvisites.us/",
+ "http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=d%C3%A9mo &meta=&btnG=Recherche Google",
+ "http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rlz=1T4GGIC_frFR215&q=demo",
+ "http://www.amnestyinternational.be/shopping/page_101.php",
+ "http://www.google.fr/search?hl=fr&q=phpmv2&meta=",
+ "http://www.google.fr/custom?hl=fr&ie=ISO-8859-1&oe=ISO-8859-1&client=pub-4902541541856011&cof=FORID%3A1%3BGL%3A1%3BLBGC%3A336699%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3BDIV%3A%23336699%3B&domains=phpmyvisites.net&q=installation&btnG=Rechercher&sitesearch=phpmyvisites.net&meta=",
+ "http://www.phpmyvisites.net/",
+ "http://www.google.co.ma/search?hl=fr&q=related:search1-1.free.fr/",
+ "http://www.google.co.ma/search?hl=fr&q=related:search1-1.free.fr/",
+ "http://www.szextra.hu/hir/?id=201&r=5",
+ "http://www.google.fr/search?hl=fr&ned=&q=type de serveur utilis%C3%A9 par free&btnmeta%3Dsearch%3Dsearch=Rechercher sur le Web",
+ "http://www.canner-evasion.com/",
+ "http://universsimpson.free.fr/itchyscratchy.php",
+ "http://googeli.dynalias.com/",
+ "http://aj.garcia.free.fr/index10.htm",
+ "http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=GGIH,GGIH:2006-51,GGIH:fr&q=d%c3%a9mo",
+ "http://www.le-phoenix.fr/",
+ "http://www.bmcharmilles.fr/fenetres.php?menu=3",
+ "http://www.nass-collection.com/visite/index.php?site=1&date=2007-03-24&period=1&mod=view_referers",
+ "http://www.neutrinium238.com/tutoriaux/photoshop/index.php?id=3",
+ "http://www.phpmyvisites.net/",
+ "http://www.annees-laser.com/Page/Boutique/Boutique.aspx",
+ "http://www.wifeo.com/membre-actualite.php?article=32-phpmyvisites--statistiques-gratuite",
+ "http://www.magalieforever.com/videos/clips.html",
+ "http://192.168.1.1/~bureau3/Musica/Musiques.php",
+ "http://www.phpmyvisites.us/",
+ "http://www.antigone-net.net/index.php?option=com_content&task=section&id=5&Itemid=79",
+ "http://www.gonthier-be.com/qui.htm",
+ "http://www.deosjuggling.fr/",
+ "http://www.google.fr/search?hl=fr&q=communaute de pratique open source&btnG=Rechercher&meta=",
+ "http://www.google.com/search?client=safari&rls=fr&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+ "http://www.sex974.com/freetour.php?q=solo",
+ "http://blog-perso.onzeweb.info/developpement/wp-phpmyvisites",
+ "http://www.google.fr/search?hl=fr&q=related:perso.orange.fr/laurent.cleon/",
+ "http://www.google.be/search?q=les sites web les plus visit%C3%A9s&hl=fr&rls=SKPB,SKPB:2006-40,SKPB:fr&start=20&sa=N",
+ "http://tourdumonde.cochisette.com/index2.php",
+ "http://www.lespaladins.com/fr_accueil.php",
+ "http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+ "http://www.google.fr/search?hl=fr&q=getthunderbird.com&btnG=Rechercher&meta=cr%3DcountryFR",
+ "http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=RNWE,RNWE:2004-16,RNWE:en&q=phpmyvisites",
+ "http://www.google.fr/search?hl=fr&q=php statistiques&btnG=Recherche Google&meta=",
+ "http://www.phpmyvisites.net/forums/index.php/m/15653/0/?srch=mot de passe",
+ "http://www.phpmyvisites.us/",
+ "http://www.tendanceouest.com/radiolive.htm",
+ "http://www.puget-passion.fr/Champignon/lamorille.htm",
+ "http://www.google.com/search?client=safari&rls=fr-fr&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+ "http://smmobadix.free.fr/index.php?",
+ "http://aide-a-la-navigation.orange.fr/process?key=0019f5a5de969bfa7df5c354e6fa71e7cac",
+ "http://www.swalif.net/softs/showthread.php?t=146114",
+ "http://fr.search.yahoo.com/search?ei=UTF-8&p=google&meta=vl%3D&ybs=0&fl=1&vl=&pstart=1&fr=logout&b=61",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=9GD&q=phpmyvisites&btnG=Rechercher&meta=",
+ "http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&hs=nds&q=Unable to open &btnG=Rechercher&meta=",
+ "http://search.live.com/results.aspx?q=logiciel gratuit&mkt=fr-fr&FORM=LIVSOP&go.x=0&go.y=6",
+ "http://www.furia-metal.com/",
+ "http://www.posicionanet.com/garantias.html",
+ "http://sos.primavista.net/Mail-Senden.93.0.html",
+ "http://www.poeta.cz/",
+ "http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+ "http://localhost/",
+ "http://www.google.fr/search?q=phpmyvisits&sourceid=navclient-ff&ie=UTF-8&rlz=1B2GGGL_frFR207FR207",
+ "http://www.google.com/search?q=php nuke tracker&rls=com.microsoft:fr-ca&ie=UTF-8&oe=UTF-8&startIndex=&startPage=1",
+ "http://www.stumbleupon.com/refer.php?url=http%3A%2F%2Fwww.phpmyvisites.net%2F",
+ "http://www.lenautilus.net/nautilusgb/galerie.html",
+ "http://www.google.fr/search?hl=fr&q=logiciel visite site internet&meta=lr%3Dlang_fr",
+ "http://universsimpson.free.fr/ullmanspage.php",
+ "http://www.google.fr/search?hl=fr&rlz=1T4GFRG_frFR212FR212&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=h%C3%A9bergement sur free&spell=1",
+ "http://www.google.com/search?hl=en&safe=off&client=firefox-a&rls=org.mozilla:en-US:official&hs=SOY&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=phpmyvisites&spell=1",
+ "http://lesemouvus.jeun.fr/index.htm?sid=ea0882e54624b43fa556e463c5ad299f",
+ "http://www.google.fr/search?sourceid=navclient&ie=UTF-8&rlz=1T4GGLJ_enBE215BE215&q=DEMO",
+ "http://82.225.141.143/",
+ "http://www.google.fr/search?hl=fr&q=DEMO&meta=",
+ "http://www.phpmyvisites.net/telechargements.html",
+ "http://www.phpmyvisites.net/forums/index.php/f/15/0/",
+ "http://www.scat-hell.com/",
+ "http://flouz.info/",
+ "http://krimhlab.free.fr/index.php?main=gallerie&menu_h=menuhga",
+ "http://www.lordphoenix.info/logiciels/",
+ "http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.saxy.fr%2F|onclick|L11",
+ "http://www.commecadujapon.com/php/photo.php?photofile=20060110.1300.1.jpg&titre=Shinseijin - nouvelle adulte",
+ "http://www.jeffroy.eu/index2.php",
+ "http://forum.spip.org/fr_174961.html?var_recherche=statistiques",
+ "http://127.0.0.1/",
+ "http://www.google.de/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a",
+ "http://www.phpmyvisites.us/",
+ "http://www.google.fr/search?q=cr%C3%A9er facilement un site web en php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.diskutime.com%2Fdisk%2Fkerkopostime.php%3Fanetari%3DBlici%23bottom|onclick|L128",
+ "http://www.phpmyvisites.net/documentation/index.php?title=Configuration&oldid=1550",
+ "http://www.google.fr/custom?domains=http%3A%2F%2Fwww.autourdecheznous.info&q=ring bourguesan ffb&sa=Recherche Google&sitesearch=&client=pub-6772093135347263&forid=1&ie=ISO-8859-1&oe=ISO-8859-1&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23E6E6E6%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A11&hl=fr&ad=w9&num=10",
+ "http://www.commentcamarche.net/forum/affich-2802486-hebergement-et-statistiques-de-visites",
+ "http://www.archives.rennes.fr/fonds/affichedetailfig.php?cot=100Fi378",
+ "http://www.pechemouchecorse.com/phpBB2-fr/search.php",
+ "http://www.autooptions.fr/catalogue_viewprod_1360_0_9_0_0.html",
+ "http://www.nalao.com/",
+ "http://www.mandrivalinux-online.eu/phpmv2/index.php?site=1&date=2007-03-25&period=1&mod=view_referers",
+ "http://www.google.be/search?hl=fr&q=statistiques web phpmyvisites&btnG=Rechercher&meta=",
+ "http://fr.search.yahoo.com/search?p=t%C3%A9l%C3%A9charger cv gratuit&rs=1&fr2=rs-top&ei=UTF-8&meta=vl%3D&ybs=0&fl=1&vl=&fr=yfp-t-501",
+ "http://www.arlon-is-on.be/",
+ "http://www.google.fr/search?hl=fr&q=t%C3%A9l%C3%A9charger gratuit de logiciel de cr%C3%A9ation de site internet en php&meta=",
+ "http://www.malta.poznan.pl/",
+ "http://www.google.fr/search?hl=fr&q=phpmyvisits",
+ "http://www.phpmyvisites.us/",
+ "http://www.phpmyvisites.us/",
+ "http://www.mfhg.org/showmedia.php?mediaID=82",
+ "http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.animule.net/php/commentaires.php?id=90",
+ "http://www.google.fr/search?q=Fatal error%3A Call to undefined function%3A&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.google.fr/custom?hl=fr&ie=ISO-8859-1&oe=ISO-8859-1&client=pub-4902541541856011&cof=FORID%3A1%3BGL%3A1%3BLBGC%3A336699%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3BDIV%3A%23336699%3B&domains=phpmyvisites.net&q=traduction&btnG=Rechercher&sitesearch=phpmyvisites.net&meta=lr%3Dlang_fr",
+ "http://www.webrankinfo.com/outils/echanges-de-liens.php?rub=res",
+ "http://www.google.fr/search?q=web analyse php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+ "http://www.donuts-models.com/pages/elite_pro.html",
+ "http://www.google.fr/search?hl=fr&q=fichier traduction php&meta=",
+ "http://www.google.ch/search?hl=fr&q=websi