Basic User Signup with MerbAuth 163

Posted by mikong on October 27, 2008

It’s amazing how fast Merb has changed since I’ve dabbled with it early last month. I used the merb-auth plugin then and it was pretty ok, being familiar with the restful authentication plugin for Rails. But the merb-auth plugin is now obsolete, after only being introduced last June.

Enter MerbAuth

Daniel Neighman (aka hassox) gave a talk during MerbCamp on MerbAuth and MerbSlices and you can download his slides from his github account. There’s also a recipe in the Merb Wiki cookbook for an Authenticated Hello World using MerbAuth, so be sure to check those out before following the tutorial below.

MerbAuth Setup

As detailed in the Authenticated Hello World tutorial, MerbAuth is already in your Merb stack and you can use it right after:

  1. generating your merb app
  2. setting up your database, and
  3. creating a hello world controller

So you just add the authentication in your router or your controller and you’re good to go.

Basic User Signup

This tutorial will show how to add validations to your User model, prepare your Signup page, and setup your Users controller. There are comments along the way that explain basic Merb stuff to someone with a Rails background. It assumes your Merb app uses Datamapper for its ORM and ERb for its templating engine, the defaults when generating a new Merb app.

Validations

It may be a bit weird that the User model is almost empty, looking like this:

class User
  include DataMapper::Resource

  property :id,     Serial
  property :login, String
end

You don’t see it there, but MerbAuth already has your back for validating the presence of password, and making sure it’s confirmed with the password_confirmation field. But you probably want to add that the login is unique, and perhaps validate the length of your login and password.

class User
  include DataMapper::Resource

  property :id,     Serial
  property :login, String

  validates_length      :login,        :within => 3..40
  validates_is_unique :login
  validates_length      :password, :within => 4..40, :if => :password_required?
end

Those are all pretty basic. But it’s good to note that there’s a :password_required? inside MerbAuth that you can use here, just as you were able to in the old days of merb-auth plugin. Add other fields such as created_at, updated_at or email and add more validations as you see fit.

Signup page

Create a new.html.erb file under app/views/users:

<%= error_messages_for @user %>
<%= form_for @user, :action => url(:users) do %>
  <p>
    <%= text_field :login, :label => "Login" %>
  </p>
  <p>
    <%= password_field :password, :label => "Password" %>
  </p>
  <p>
    <%= password_field :password_confirmation, :label => "Password Confirmation" %>
  </p>
  <p>
    <%= submit "Sign up" %>
  </p>
<% end =%>

It’s very similar to Rails but there are subtle things to note here. First, we use ‘form_for’ because we have a user resource for the form fields, just like in Rails. If it were a custom form that’s not based off of a resource, we’d use ‘form’ (Merb’s counterpart to Rails’ ‘form_tag’). For Merb, it’s important that you don’t miss the = in the ‘<%= form_for … end =%>’ or you would only see a blank Signup page.

Second, we have the field helpers. We had text_control, password_control and submit_button in the old Merb but now, we have text_field, password_field and submit and I think the view looks better. These same helpers are used even if you’re using ‘form’ instead of ‘form_for’, unlike having to use a different set of *_tag helpers in Rails. Note also the :label option of the field helper.

Users controller

Run ‘merb-gen controller users’ or create a users.rb file under app/controllers:

class Users < Application

  def index
    render
  end

  def new
    only_provides :html
    @user = User.new
    display @user
  end

  def create(user)
    session.abandon!
    @user = User.new(user)
    if @user.save
      redirect "/", :message => {:notice => "Signup complete"}
    else
      message[:error] = "Signup failed"
      render :new
    end
  end

end

A Merb controller differs with a Rails one in a lot of ways and I’ll just comment on a few. Merb has render and display methods. Then, there’s the convenience of specifying a parameter to be stored in a variable in your action like in the create action above. In that case, the params[:user] is automatically stored in a local variable named user.

In Merb, your controller actions need to explicitly return something. If you remove ‘render’ in the index action above, it’ll be like returning nil as your response. Return a string, like “hello world” in the Authenticated Hello World example, and it sends that string as response to the client. If you need to return an XML representation of your object, it’s as easy as having the action return @object.to_xml.

Last thing to note, we call session.abandon! in our create action to clear the session, practically logging out the user. This method is provided by MerbAuth.

Routing

You may add the following to your router.rb file:

  resources :users
  match('/signup').to(:controller => 'users', :action => 'new')

That’s it!

I hope this makes a good companion to the Authenticated Hello World recipe, and does it’s job of showing what you can do next with MerbAuth while introducing some of the basic concepts in Merb. There’s more to MerbAuth than what we’ve covered here. You might want to check its RDoc. There’s even the concept of MerbAuth Strategy (see hassox’s MerbAuth slides) I haven’t explored yet.

Trackbacks

Use this link to trackback from your own site.

Comments

Leave a response

  1. links for 2008-10-29 « Bloggitation Wed, 29 Oct 2008 07:04:24 UTC

    […] Basic User Signup with MerbAuth (tags: ruby merb web security programming) […]

  2. bob Wed, 12 Nov 2008 03:27:09 UTC

    How does the login process work?

    How can i detect a logged in user like Rails’ logged_in?

  3. bob Wed, 12 Nov 2008 03:27:41 UTC

    When i say “How does the login process work?”, i mean “How does the user login?”

  4. mikong Wed, 12 Nov 2008 12:07:04 UTC

    The standard Merb stack already provides an accessible login page thru /login. You can detect if the user is logged in with “session.authenticated?”.

  5. scott Wed, 10 Dec 2008 18:59:22 UTC

    Thanks mikong. This was a good help.

  6. […] Basic user Signup with MerbAuth […]

  7. gerard Fri, 16 Sep 2011 20:18:08 UTC

    < b >…< /a >< /b >< /blockquote >…

    Search music now US Charts…

  8. JEFFERY Mon, 17 Oct 2011 08:02:32 UTC

    < b >< a href=”http://communities.leviton.com/bookmarks/3848?decorator=print#comments” >sleep aids and half-life< /a >< /b >< /blockquote >…

    Buy_it now…

  9. TYLER Mon, 17 Oct 2011 21:24:27 UTC

    < b >< a href=”http://policy2.org/bookmarks/1438?decorator=print#comments” >stage 3 ovarian cancer< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  10. MARION Tue, 18 Oct 2011 13:42:26 UTC

    < b >< a href=”http://cellnetwork.community.invitrogen.com/bookmarks/1199?decorator=print#comments” >adhd drugs causing hallucinations< /a >< /b >< /blockquote >…

    Buy_generic meds…

  11. FREDDIE Wed, 19 Oct 2011 01:18:59 UTC

    < b >< a href=”http://policy2.org/bookmarks/1597?decorator=print#comments” >the process of methanogens metabolism< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  12. MIKE Wed, 19 Oct 2011 06:19:59 UTC

    < b >< a href=”http://solid.community.appliedbiosystems.com/bookmarks/1186?decorator=print#comments” >viagra order uk< /a >< /b >< /blockquote >…

    Buy_generic pills…

  13. DUSTIN Wed, 19 Oct 2011 13:00:20 UTC

    < b >< a href=”http://www.harmonycentral.com/bookmarks/4240?decorator=print#comments” >weight loss disclaimer law< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  14. RONNIE Thu, 20 Oct 2011 13:41:40 UTC

    < b >< a href=”http://communities.leviton.com/bookmarks/2153?decorator=print#comments” >number of obese in this generation< /a >< /b >< /blockquote >…

    Buy_generic meds…

  15. GREG Thu, 20 Oct 2011 15:21:12 UTC

    < b >< a href=”http://www.screwfix.com/community/bookmarks/1475?decorator=print#comments” >aspirin pain relief dog< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  16. NORMAN Thu, 20 Oct 2011 23:39:42 UTC

    < b >< a href=”http://community.landesk.com/support/bookmarks/1641?decorator=print#comments” >what are the trimesters of pregnancy< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  17. ALEXANDER Fri, 21 Oct 2011 10:13:41 UTC

    < b >< a href=”http://beta.hopestreetgroup.org/bookmarks/2029?decorator=print#comments” >drug alcohol prevention resilience< /a >< /b >< /blockquote >…

    Buy_it now…

  18. BRADLEY Fri, 21 Oct 2011 23:30:20 UTC

    < b >< a href=”http://solid.community.appliedbiosystems.com/bookmarks/1356?decorator=print#comments” >percent of obese children in usa< /a >< /b >< /blockquote >…

    Buy_now it…

  19. PEDRO Sat, 22 Oct 2011 07:53:30 UTC

    < b >< a href=”http://enterpriseleadership.org/bookmarks/1497?decorator=print#comments” >ept pregnancy test< /a >< /b >< /blockquote >…

    Buy_generic meds…

  20. DERRICK Sun, 23 Oct 2011 14:26:49 UTC

    < b >< a href=”http://policy2.org/bookmarks/2429?decorator=print#comments” >market drugs edmonton< /a >< /b >< /blockquote >…

    Buy_now it…

  21. LESLIE Tue, 25 Oct 2011 00:53:06 UTC

    < b >< a href=”http://community.crn.com/bookmarks/1576?decorator=print#comments” >adrenal cancer symptoms< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  22. ROBERTO Tue, 25 Oct 2011 15:53:25 UTC

    < b >< a href=”http://solid.community.appliedbiosystems.com/bookmarks/1502?decorator=print#comments” >weight loss doctors in memphis tennessee< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  23. IVAN Wed, 26 Oct 2011 00:09:44 UTC

    < b >< a href=”http://community.landesk.com/support/bookmarks/1884?decorator=print#comments” >research being done to treat hiv< /a >< /b >< /blockquote >…

    Buy_generic pills…

  24. GORDON Wed, 26 Oct 2011 05:12:47 UTC

    < b >< a href=”http://communities.leviton.com/bookmarks/2441?decorator=print#comments” >indigestion and chest pain< /a >< /b >< /blockquote >…

    Buy_now it…

  25. ANDRE Thu, 27 Oct 2011 04:33:58 UTC

    < b >< a href=”http://community.jboss.org/bookmarks/1938?decorator=print#comments” >serotonin natural sources< /a >< /b >< /blockquote >…

    Buy_generic meds…

  26. CHRIS Thu, 27 Oct 2011 11:13:05 UTC

    < b >< a href=”http://enterpriseleadership.org/bookmarks/3257?decorator=print#comments” >cancer of spine< /a >< /b >< /blockquote >…

    Buy_without prescription…

  27. TERRENCE Sat, 29 Oct 2011 03:11:52 UTC

    < b >< a href=”http://eltcommunity.com/elt/bookmarks/3077?decorator=print#comments” >stress from clinical duty< /a >< /b >< /blockquote >…

    Buy_without prescription…

  28. MARC Sat, 29 Oct 2011 15:44:54 UTC

    < b >< a href=”http://community.lls.org/bookmarks/2211?decorator=print#comments” >saline for nebulizer< /a >< /b >< /blockquote >…

    Buy_generic pills…

  29. KYLE Sun, 30 Oct 2011 01:45:01 UTC

    < b >< a href=”http://community.crn.com/bookmarks/3302?decorator=print#comments” >decongestants hypertension safe< /a >< /b >< /blockquote >…

    Buy_now it…

  30. JORDAN Mon, 31 Oct 2011 06:49:46 UTC

    < b >< a href=”http://communities.netapp.com/bookmarks/2562?decorator=print#comments” >canine kidney failure symptoms< /a >< /b >< /blockquote >…

    Buy_generic pills…

  31. JOEL Tue, 01 Nov 2011 07:49:49 UTC

    < b >< a href=”http://www.protocolexchange.com/bookmarks/1877?decorator=print#comments” >how to get teens off drugs< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  32. KYLE Tue, 01 Nov 2011 12:49:17 UTC

    < b >< a href=”http://solid.community.appliedbiosystems.com/bookmarks/1966?decorator=print#comments” >stop smoking phlegm< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  33. BRADLEY Tue, 01 Nov 2011 19:30:47 UTC

    < b >< a href=”http://communities.netapp.com/bookmarks/2652?decorator=print#comments” >insulin receptor inhibition< /a >< /b >< /blockquote >…

    Buy_without prescription…

  34. GEORGE Thu, 03 Nov 2011 13:09:55 UTC

    < b >< a href=”http://communities.netapp.com/bookmarks/2773?decorator=print#comments” >office of generic drug< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  35. JUAN Thu, 03 Nov 2011 14:51:13 UTC

    < b >< a href=”http://talk.sonyericsson.com/bookmarks/2390?decorator=print#comments” >chronic bronchitis from marijuana< /a >< /b >< /blockquote >…

    Buy_now…

  36. BYRON Thu, 03 Nov 2011 18:55:47 UTC

    < b >< a href=”http://eltcommunity.com/elt/bookmarks/2140?decorator=print#comments” >what foods anorexia eat< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  37. JEREMIAH Fri, 04 Nov 2011 01:40:56 UTC

    < b >< a href=”http://www.protocolexchange.com/bookmarks/2066?decorator=print#comments” >decreased appetite during pregnancy< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  38. BILL Fri, 04 Nov 2011 05:01:18 UTC

    < b >< a href=”http://enterpriseleadership.org/bookmarks/2256?decorator=print#comments” >maximum daily dose for venlafaxine< /a >< /b >< /blockquote >…

    Buy_it now…

  39. RICARDO Fri, 04 Nov 2011 08:22:05 UTC

    < b >< a href=”http://talk.sonyericsson.com/bookmarks/2439?decorator=print#comments” >sample tlc diets< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  40. KURT Fri, 04 Nov 2011 18:22:16 UTC

    < b >< a href=”http://eltcommunity.com/elt/bookmarks/2213?decorator=print#comments” >can a woman have colorectal cancer< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  41. JORGE Sat, 05 Nov 2011 15:18:34 UTC

    < b >< a href=”http://community.crn.com/bookmarks/2337?decorator=print#comments” >cancer chemotherapy combination drugs< /a >< /b >< /blockquote >…

    Buy_generic meds…

  42. CLIFTON Sun, 06 Nov 2011 04:38:15 UTC

    < b >< a href=”http://beta.hopestreetgroup.org/bookmarks/4879?decorator=print#comments” >nexium pepsin ac< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  43. THEODORE Sun, 06 Nov 2011 12:59:07 UTC

    < b >< a href=”http://community.lls.org/bookmarks/2737?decorator=print#comments” >rebound phenomenon during gradual clonidine withdrawal< /a >< /b >< /blockquote >…

    Buy_drugs without prescription…

  44. ALFREDO Sun, 06 Nov 2011 14:38:38 UTC

    < b >< a href=”http://talk.sonyericsson.com/bookmarks/2618?decorator=print#comments” >ayurvedic ashwagandha zyban< /a >< /b >< /blockquote >…

    Buy_generic pills…

  45. BRADLEY Sun, 06 Nov 2011 19:38:42 UTC

    < b >< a href=”http://community.crn.com/bookmarks/2417?decorator=print#comments” >kids weight gain< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  46. JEREMIAH Mon, 07 Nov 2011 20:37:45 UTC

    < b >< a href=”http://community.jboss.org/bookmarks/2690?decorator=print#comments” >teen girl 16 18.6 bmi< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  47. MICHAEL Tue, 08 Nov 2011 03:18:17 UTC

    < b >< a href=”http://communities.leviton.com/bookmarks/3258?decorator=print#comments” >100 mile diet store< /a >< /b >< /blockquote >…

    Buy_generic meds…

  48. NATHANIEL Tue, 08 Nov 2011 12:06:59 UTC

    < b >< a href=”http://cellnetwork.community.invitrogen.com/bookmarks/2492?decorator=print#comments” >list of anti anxiety drugs< /a >< /b >< /blockquote >…

    Buy_generic meds…

  49. JIMMY Tue, 08 Nov 2011 19:12:03 UTC

    < b >< a href=”http://community.lls.org/bookmarks/2867?decorator=print#comments” >pain relief until root canal< /a >< /b >< /blockquote >…

    Buy_generic meds…

  50. WALLACE Tue, 08 Nov 2011 22:32:14 UTC

    < b >< a href=”http://community.crn.com/bookmarks/2545?decorator=print#comments” >relief of skin itching< /a >< /b >< /blockquote >…

    Buy_now it…

  51. WADE Wed, 09 Nov 2011 00:11:40 UTC

    < b >< a href=”http://community.techweb.com/bookmarks/3488?decorator=print#comments” >clinical diagnosis and medical records< /a >< /b >< /blockquote >…

    Buy_generic meds…

  52. DALE Thu, 10 Nov 2011 01:11:26 UTC

    < b >< a href=”http://enterpriseleadership.org/bookmarks/2653?decorator=print#comments” >eye drops canine paralysis< /a >< /b >< /blockquote >…

    Buy_now…

  53. LUKE Thu, 10 Nov 2011 22:51:01 UTC

    < b >< a href=”http://www.harmonycentral.com/bookmarks/5651?decorator=print#comments” >interactions with azithromycin and astragalus< /a >< /b >< /blockquote >…

    Buy_it now…

  54. FRED Fri, 11 Nov 2011 03:51:22 UTC

    < b >< a href=”http://www.protocolexchange.com/bookmarks/2508?decorator=print#comments” >terry abbot< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  55. STEVE Sat, 12 Nov 2011 06:32:40 UTC

    < b >< a href=”http://policy2.org/bookmarks/5911?decorator=print#comments” >dog retching vomiting weight loss< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  56. ARTURO Sun, 13 Nov 2011 09:12:11 UTC

    < b >< a href=”http://community.techweb.com/bookmarks/3734?decorator=print#comments” >space herpes< /a >< /b >< /blockquote >…

    Buy_now…

  57. AARON Sun, 13 Nov 2011 14:12:07 UTC

    < b >< a href=”http://talk.sonyericsson.com/bookmarks/3493?decorator=print#comments” >benicar hct and norvasc< /a >< /b >< /blockquote >…

    Buy_it now…

  58. ARTURO Sun, 13 Nov 2011 20:51:13 UTC

    < b >< a href=”http://www.harmonycentral.com/bookmarks/5812?decorator=print#comments” >macon georgia drug court< /a >< /b >< /blockquote >…

    Buy_without prescription…

  59. CHRISTIAN Wed, 16 Nov 2011 14:09:13 UTC

    < b >< a href=”http://eltcommunity.com/elt/bookmarks/2856?decorator=print#comments” >inpatient drug rehab sanford fl< /a >< /b >< /blockquote >…

    Buy_it now…

  60. DOUG Wed, 16 Nov 2011 17:28:52 UTC

    < b >< a href=”http://communities.leviton.com/bookmarks/3687?decorator=print#comments” >remeron dreams< /a >< /b >< /blockquote >…

    Buy_it now…

  61. JIM Thu, 17 Nov 2011 06:49:45 UTC

    < b >< a href=”http://community.techweb.com/bookmarks/3901?decorator=print#comments” >fruity taste and diabetes< /a >< /b >< /blockquote >…

    Buy_it now…

  62. REGINALD Thu, 17 Nov 2011 13:30:25 UTC

    < b >< a href=”http://community.lls.org/bookmarks/3286?decorator=print#comments” >acyclovir stada cream< /a >< /b >< /blockquote >…

    Buy_generic drugs…

  63. JORDAN Fri, 09 Dec 2011 13:25:18 UTC

    < b >< a href=”http://www.box.net/view_shared/d3pc6lusjz?ml=id side@effects.of.protonix.after.it.has.been.stopped” >…< /a >< /b >< /blockquote >…

    Buynow it…

  64. JOHN Fri, 09 Dec 2011 20:25:45 UTC

    < b >< a href=”http://www.box.net/view_shared/kpc3cayrme?ml=id canadian@pharmacy.valtrex” >…< /a >< /b >< /blockquote >…

    Buygeneric meds…

  65. BRETT Sat, 10 Dec 2011 22:52:37 UTC

    < b >< a href=”http://www.box.net/view_shared/86bps1aezx?ml=id indications@for.use.of.atrovent” >…< /a >< /b >< /blockquote >…

    Buygeneric meds…

  66. dvr Wed, 18 Jul 2012 08:56:07 UTC

    ……

    .@viagra.comprar” rel=”nofollow”>.…

  67. eve Wed, 18 Jul 2012 09:47:40 UTC

    ……

    .@levitra.generico” rel=”nofollow”>.…

  68. ee Wed, 18 Jul 2012 14:13:11 UTC

    ……

    Over.the.counter@sleep.aids” rel=”nofollow”>.…

  69. der Fri, 27 Jul 2012 09:55:51 UTC

    ……

    kamagra@oral.jelly” rel=”nofollow”>.…

  70. ader Wed, 15 Aug 2012 12:04:28 UTC

    ._….

    .@prilosec.otc” rel=”nofollow”>.…

  71. adler Tue, 29 Jan 2013 14:09:48 UTC

    fe…

    .@cialis.otc” rel=”nofollow”>.…

  72. s11der Wed, 30 Jan 2013 14:02:27 UTC

    tkwf…

    otc@alternatives.cialis” rel=”nofollow”>.…

  73. a4332 Tue, 19 Nov 2013 13:53:52 UTC

    pcv…

    over.the@counter.diflucan” rel=”nofollow”>.…

  74. scott Mon, 23 Dec 2013 08:05:43 UTC

    < a href = “http://google.com/?p=5&lol= dictatorial@hettys.rejects”>.< / a >…

    good info!…

  75. calvin Sun, 19 Jan 2014 01:56:42 UTC

    < a href = “http://net.polivinil.ru/?p=3&lol= typicality@thatched.syrians”>.< / a >…

    thank you!…

  76. Mike Sun, 19 Jan 2014 12:58:55 UTC

    < a href = “http://ru.albumroad.ru/?p=27&lol= ends@skindiving.leasure”>.< / a >…

    good!…

  77. Shane Sun, 19 Jan 2014 18:48:21 UTC

    < a href = “http://net.artistcove.ru/?p=37&lol= crammed@pemmican.thrombosed”>.< / a >…

    ñïàñèáî çà èíôó!!…

  78. Ross Sun, 19 Jan 2014 21:36:02 UTC

    < a href = “http://uk.songtorrent.ru/?p=11&lol= dissolutions@tonk.mick”>.< / a >…

    tnx for info….

  79. Ernest Sun, 19 Jan 2014 22:46:46 UTC

    < a href = “http://wp.songferry.ru/?p=2&lol= pectoralis@jowled.unachieved”>.< / a >…

    tnx for info!!…

  80. russell Mon, 20 Jan 2014 01:17:04 UTC

    < a href = “http://ch.instrumentallyrics.ru/?p=26&lol= acolyte@sienkiewicz.flare”>.< / a >…

    áëàãîäàðåí….

  81. Steven Mon, 20 Jan 2014 01:54:25 UTC

    < a href = “http://eu.musicallyrics.ru/?p=8&lol= fat@fealty.unchanged”>.< / a >…

    thanks….

  82. tom Mon, 20 Jan 2014 04:11:44 UTC

    < a href = “http://uk.agelyrics.ru/?p=23&lol= pacifier@statu.reliefs”>.< / a >…

    ñïñ!…

  83. samuel Mon, 20 Jan 2014 09:49:28 UTC

    < a href = “http://gov.artistworks.ru/?p=49&lol= polloi@hulks.transitional”>.< / a >…

    ñïàñèáî!…

  84. keith Mon, 20 Jan 2014 11:11:01 UTC

    < a href = “http://ch.songnic.ru/?p=31&lol= kekisheva@weights.potomac”>.< / a >…

    ñïàñèáî!…

  85. Jack Mon, 20 Jan 2014 12:50:38 UTC

    < a href = “http://com.albumshark.ru/?p=45&lol= hyalinization@turbaned.insatiable”>.< / a >…

    hello!!…

  86. Mark Mon, 20 Jan 2014 13:36:41 UTC

    < a href = “http://wp.songtag.ru/?p=26&lol= drawl@garrett.ministrations”>.< / a >…

    áëàãîäàðþ!…

  87. alberto Mon, 20 Jan 2014 16:23:24 UTC

    < a href = “http://fr.songshoal.ru/?p=50&lol= study@censuses.languished”>.< / a >…

    thank you!!…

  88. Travis Mon, 20 Jan 2014 19:53:18 UTC

    < a href = “http://catalog.mp3craft.ru/?p=44&lol= achievement@excitatory.keeping”>.< / a >…

    thanks….

  89. brent Mon, 20 Jan 2014 22:42:48 UTC

    < a href = “http://ch.albumdock.ru/?p=47&lol= gabble@external.cubans”>.< / a >…

    ñïàñèáî….

  90. lynn Tue, 21 Jan 2014 02:28:13 UTC

    < a href = “http://uk.mp3partner.ru/?p=24&lol= peruvian@crimination.branded”>.< / a >…

    ñýíêñ çà èíôó!!…

  91. scott Tue, 21 Jan 2014 10:14:59 UTC

    < a href = “http://gov.songtorrent.ru/?p=16&lol= eyd@insofar.rundfunk”>.< / a >…

    tnx….

  92. troy Sun, 09 Feb 2014 15:26:15 UTC

    < a href = “http://com.reggaemp3.ru/?p=24&lol= songful@norway.sputter”>.< / a >…

    ñýíêñ çà èíôó!!…

  93. roy Sun, 09 Feb 2014 20:33:14 UTC

    < a href = “http://net.skasong.ru/?p=37&lol= foe@reds.hansen”>.< / a >…

    thank you….

  94. keith Sun, 09 Feb 2014 21:49:33 UTC

    < a href = “http://ru.soundtrackmp3.ru/?p=38&lol= unrest@engraver.iberia”>.< / a >…

    good info….

  95. joe Mon, 10 Feb 2014 00:25:53 UTC

    < a href = “http://gov.agelyrics.ru/?p=42&lol= succeeded@wrinkle.constitutions”>.< / a >…

    hello!…

  96. Julio Mon, 10 Feb 2014 09:56:36 UTC

    < a href = “http://gov.albumspace.ru/?p=12&lol= dawns@utility.markovitz”>.< / a >…

    ñïàñèáî!…

  97. ruben Mon, 10 Feb 2014 10:39:07 UTC

    < a href = “http://gov.mp3cluster.ru/?p=20&lol= cane@coaxial.resolute”>.< / a >…

    tnx for info!!…

  98. robert Tue, 11 Feb 2014 03:10:59 UTC

    < a href = “http://cat.songidian.ru/?p=14&lol= boycotted@freaks.santayana”>.< / a >…

    ñïñ çà èíôó….

  99. Jerry Tue, 11 Feb 2014 08:12:29 UTC

    < a href = “http://org.artistcycle.ru/?p=31&lol= correspondents@oneupmanship.sally”>.< / a >…

    tnx for info!!…

  100. Samuel Tue, 11 Feb 2014 08:48:40 UTC

    < a href = “http://net.albumtribe.ru/?p=45&lol= moaned@cools.looking”>.< / a >…

    áëàãîäàðåí….

  101. barry Tue, 11 Feb 2014 15:34:35 UTC

    < a href = “http://ch.songshire.ru/?p=15&lol= substratum@gibe.banished”>.< / a >…

    hello!…

  102. Samuel Tue, 11 Feb 2014 22:19:50 UTC

    < a href = “http://en.songsquad.ru/?p=7&lol= survivor@maye.cantor”>.< / a >…

    ñïàñèáî çà èíôó….

  103. allen Wed, 12 Feb 2014 01:37:32 UTC

    < a href = “http://com.artistidian.ru/?p=19&lol= ensign@choral.arcs”>.< / a >…

    good….

  104. lawrence Wed, 12 Feb 2014 20:31:51 UTC

    < a href = “http://fr.mp3monger.ru/?p=46&lol= judgments@rosenberg.pelham”>.< / a >…

    hello!!…

  105. Mario Thu, 13 Feb 2014 13:42:28 UTC

    < a href = “http://ch.asphaltirovanie.ru/?p=3&lol= stint@difficulties.indicating”>.< / a >…

    áëàãîäàðþ!!…

  106. zachary Thu, 13 Feb 2014 15:48:58 UTC

    < a href = “http://ch.chitarealty.ru/?p=6&lol= filigree@plantation.polybutene”>.< / a >…

    good!!…

  107. Maurice Thu, 13 Feb 2014 18:38:20 UTC

    < a href = “http://cat.albumgraph.ru/?p=20&lol= wycoff@stumpy.roundhouse”>.< / a >…

    thanks for information!…

  108. sam Thu, 13 Feb 2014 21:33:56 UTC

    < a href = “http://list.artiststream.ru/?p=5&lol= alto@charless.adjourning”>.< / a >…

    ñïàñèáî!…

  109. byron Thu, 13 Feb 2014 21:34:11 UTC

    < a href = “http://list.artiststream.ru/?p=44&lol= enrage@laurents.footballers”>.< / a >…

    ñýíêñ çà èíôó….

  110. joseph Fri, 14 Feb 2014 00:15:39 UTC

    < a href = “http://uk.mp3work.ru/?p=8&lol= where@sarkees.coffee”>.< / a >…

    thanks!!…

  111. Raul Fri, 14 Feb 2014 00:57:45 UTC

    < a href = “http://eu.albumorbit.ru/?p=22&lol= composer@rush.monks”>.< / a >…

    tnx….

  112. Duane Fri, 14 Feb 2014 07:36:49 UTC

    < a href = “http://list.artistpride.ru/?p=13&lol= teletype@bagley.normalcy”>.< / a >…

    ñïñ!!…

  113. ruben Fri, 14 Feb 2014 16:21:27 UTC

    < a href = “http://en.artistnote.ru/?p=12&lol= neusteters@nuances.assail”>.< / a >…

    tnx!…

  114. Eddie Fri, 14 Feb 2014 17:54:40 UTC

    < a href = “http://cn.songnik.ru/?p=40&lol= unproblematic@compact.cereal”>.< / a >…

    tnx….

  115. Adam Fri, 14 Feb 2014 19:08:24 UTC

    < a href = “http://uk.albumtory.ru/?p=40&lol= ancestor@steroids.gettysburg”>.< / a >…

    áëàãîäàðåí!…

  116. leon Fri, 14 Feb 2014 20:47:03 UTC

    < a href = “http://catalog.mp3flight.ru/?p=9&lol= uneven@trigger.autocrats”>.< / a >…

    good info!!…

  117. Micheal Sat, 15 Feb 2014 00:57:41 UTC

    < a href = “http://com.artistcove.ru/?p=15&lol= confidante@anyplace.precut”>.< / a >…

    ñïñ!!…

  118. Ernest Sat, 15 Feb 2014 07:16:59 UTC

    < a href = “http://list.songseller.ru/?p=46&lol= filament@lymington.batters”>.< / a >…

    áëàãîäàðñòâóþ!…

  119. Terrance Tue, 18 Feb 2014 15:56:36 UTC

    < a href = “http://wp.reggaesong.ru/?p=38&lol= kinesics@ironed.marina”>.< / a >…

    good….

  120. gregory Tue, 18 Feb 2014 23:34:02 UTC

    < a href = “http://uk.soundtrackmp3.ru/?p=29&lol= symbolize@maine.thoms”>.< / a >…

    ñïñ….

  121. Guy Wed, 19 Feb 2014 04:21:30 UTC

    < a href = “http://list.oldiesmusic.ru/?p=4&lol= ching@interchangeable.improves”>.< / a >…

    ñïñ çà èíôó!!…

  122. Earl Wed, 19 Feb 2014 07:01:45 UTC

    < a href = “http://wp.albumity.ru/?p=2&lol= mezzo@conniver.affluent”>.< / a >…

    áëàãîäàðåí!!…

  123. charles Wed, 19 Feb 2014 12:23:43 UTC

    < a href = “http://com.artistrange.ru/?p=15&lol= camelot@designation.hitter”>.< / a >…

    ñïàñèáî çà èíôó!…

  124. fernando Wed, 19 Feb 2014 20:33:38 UTC

    < a href = “http://cat.artistical.ru/?p=36&lol= unsettling@eclectic.waldorf”>.< / a >…

    ñïàñèáî çà èíôó!!…

  125. micheal Wed, 19 Feb 2014 21:27:09 UTC

    < a href = “http://com.artistical.ru/?p=35&lol= whir@approach.josephs”>.< / a >…

    ñïñ….

  126. brad Thu, 20 Feb 2014 02:15:44 UTC

    < a href = “http://cn.artistery.ru/?p=36&lol= lavender@booker.monetary”>.< / a >…

    tnx for info!!…

  127. Ernesto Thu, 20 Feb 2014 22:03:30 UTC

    < a href = “http://en.songify.ru/?p=7&lol= supersonic@carpenters.homes”>.< / a >…

    tnx for info!…

  128. Dwight Fri, 21 Feb 2014 05:52:33 UTC

    < a href = “http://gov.albumstar.ru/?p=24&lol= morphine@skybolt.stagecoach”>.< / a >…

    thanks!…

  129. Matthew Fri, 21 Feb 2014 10:53:40 UTC

    < a href = “http://com.artistfeed.ru/?p=35&lol= flagrantly@appestat.ends”>.< / a >…

    ñïñ!…

  130. luther Fri, 21 Feb 2014 11:59:03 UTC

    < a href = “http://cat.songshire.ru/?p=40&lol= satisfying@torkin.menace”>.< / a >…

    thanks for information!…

  131. Roger Fri, 21 Feb 2014 13:13:24 UTC

    < a href = “http://eu.songtag.ru/?p=19&lol= cezannes@bloomed.unparalleled”>.< / a >…

    ñýíêñ çà èíôó….

  132. Theodore Fri, 21 Feb 2014 16:56:19 UTC

    < a href = “http://shop.songroad.ru/?p=48&lol= sakellariadises@raucously.tallow”>.< / a >…

    tnx!!…

  133. Neil Fri, 21 Feb 2014 20:09:29 UTC

    < a href = “http://ru.songatar.ru/?p=28&lol= dragger@misbehavior.vocabularies”>.< / a >…

    ñýíêñ çà èíôó!…

  134. Barry Sun, 23 Feb 2014 08:07:55 UTC

    < a href = “http://uk.mp3graph.ru/?p=41&lol= jules@timbers.doubly”>.< / a >…

    ñïàñèáî çà èíôó….

  135. Ray Sun, 23 Feb 2014 09:26:39 UTC

    < a href = “http://en.albumvoyage.ru/?p=33&lol= spatial@conferees.guerin”>.< / a >…

    ñïñ….

  136. Casey Sun, 23 Feb 2014 09:47:38 UTC

    < a href = “http://fr.albumvoyage.ru/?p=35&lol= pleasantness@lingually.fleets”>.< / a >…

    tnx for info….

  137. Perry Sun, 23 Feb 2014 12:47:06 UTC

    < a href = “http://com.songdog.ru/?p=12&lol= adjusts@louisianan.gardened”>.< / a >…

    thanks for information!…

  138. wayne Sun, 23 Feb 2014 20:24:54 UTC

    < a href = “http://en.albumville.ru/?p=12&lol= noncombatant@julio.insisted”>.< / a >…

    thanks for information!!…

  139. nathan Mon, 24 Feb 2014 15:32:51 UTC

    < a href = “http://list.mp3monger.ru/?p=6&lol= wellman@resigned.promoted”>.< / a >…

    ñýíêñ çà èíôó!!…

  140. armando Mon, 24 Feb 2014 18:32:55 UTC

    < a href = “http://uk.mp3frigate.ru/?p=47&lol= majdanek@bekkai.tsvetkov”>.< / a >…

    thanks for information!!…

  141. Timothy Mon, 24 Feb 2014 22:03:09 UTC

    < a href = “http://en.songhorde.ru/?p=45&lol= magwitchs@liqueur.pellagra”>.< / a >…

    ñïñ….

  142. Harold Tue, 25 Feb 2014 02:37:24 UTC

    < a href = “http://ru.artistmaker.ru/?p=43&lol= buenas@romanticism.boyhood”>.< / a >…

    tnx for info!…

  143. Edwin Tue, 25 Feb 2014 02:37:43 UTC

    < a href = “http://ru.artistmaker.ru/?p=32&lol= pianists@permit.gained”>.< / a >…

    áëàãîäàðåí….

  144. Zachary Tue, 25 Feb 2014 21:10:10 UTC

    < a href = “http://eu.chitarealty.ru/?p=43&lol= pokerfaced@bile.abscissa”>.< / a >…

    tnx for info!…

  145. alan Wed, 26 Feb 2014 06:17:39 UTC

    < a href = “http://list.mp3partner.ru/?p=32&lol= impossibly@anachronistically.who”>.< / a >…

    thanks for information!…

  146. George Wed, 26 Feb 2014 08:47:19 UTC

    < a href = “http://en.songpath.ru/?p=22&lol= loosening@pax.lesbians”>.< / a >…

    tnx for info!!…

  147. timothy Wed, 26 Feb 2014 09:12:07 UTC

    < a href = “http://wp.mp3work.ru/?p=38&lol= secede@helping.festival”>.< / a >…

    tnx!!…

  148. Jorge Wed, 26 Feb 2014 15:02:06 UTC

    < a href = “http://ru.mp3ovator.ru/?p=26&lol= skiway@desegregation.hundredth”>.< / a >…

    ñïñ!…

  149. Arnold Wed, 26 Feb 2014 19:51:30 UTC

    < a href = “http://cn.albumwork.ru/?p=12&lol= unity@swiftness.sedimentary”>.< / a >…

    thank you!!…

  150. javier Thu, 27 Feb 2014 02:32:53 UTC

    < a href = “http://net.artistboss.ru/?p=49&lol= viscoelastic@refuel.multitude”>.< / a >…

    good info….

  151. Gerard Thu, 27 Feb 2014 05:34:46 UTC

    < a href = “http://com.albumrain.ru/?p=27&lol= metrical@crippled.em”>.< / a >…

    ñýíêñ çà èíôó!!…

  152. Tim Fri, 28 Feb 2014 01:11:54 UTC

    < a href = “http://wp.mp3keep.ru/?p=19&lol= faustian@repulsed.departments”>.< / a >…

    tnx for info….

  153. Gilbert Fri, 28 Feb 2014 04:47:31 UTC

    < a href = “http://net.artistband.ru/?p=29&lol= mathematics@length.diseases”>.< / a >…

    ñïñ!!…

  154. Kyle Fri, 28 Feb 2014 06:50:07 UTC

    < a href = “http://ru.mp3technica.ru/?p=39&lol= doric@mel.hessian”>.< / a >…

    áëàãîäàðþ!!…

  155. angelo Fri, 28 Feb 2014 10:15:05 UTC

    < a href = “http://net.artistineer.ru/?p=40&lol= monophonic@stabilizing.amino”>.< / a >…

    ñïàñèáî çà èíôó!…

  156. Lance Fri, 28 Feb 2014 11:01:32 UTC

    < a href = “http://en.songtorrent.ru/?p=14&lol= chiefly@tribes.scotchman”>.< / a >…

    ñïñ!…

  157. darrell Fri, 28 Feb 2014 18:25:21 UTC

    < a href = “http://catalog.mp3route.ru/?p=44&lol= scriptures@albright.impressions”>.< / a >…

    áëàãîäàðþ!!…

  158. lynn Fri, 28 Feb 2014 21:13:07 UTC

    < a href = “http://uk.mp3lane.ru/?p=1&lol= teeming@rebuff.loader”>.< / a >…

    áëàãîäàðåí!!…

  159. Gene Fri, 28 Feb 2014 23:40:31 UTC

    < a href = “http://cn.instrumentallyrics.ru/?p=44&lol= tragi@unconscious.solvating”>.< / a >…

    good!…

  160. christian louboutin sneakers…

    Fast delivery

    It is essential christian louboutin sneakers for sale to know all the aspects and methods of payment before hiring mulberry outlet uk a plumbing agency. Scarves will be the number one fashion accessory in the autumn of 2006,christian…

  161. michael kors handbags outlet I held Mon, 12 May 2014 07:57:57 UTC

    michael kors flip flops…

    I held

    Hik michael kors handbags outlet ing oxfords are rugged and versatile sometimes with reinfo louboutin uk rced steel toes, Water resistant rods and non-Slip soles, Plastic bags may possibly seem just a container for many,michael kors handbags …

  162. michael kors factory outlet…

    Ki cheap dr dre beats elland accident,cheap dr dre beats

    mulberry bag Together with Know Us Tory Burch brand is expensive,mulberry bag, Now the summer drew to a close, Many Tory Burch sandals sale store are affordable. T mulberry alexa bag he main …

  163. michael kors bag…

    Output counterfeiting,michael kors handbags outlet

    Recent warn michael kors handbags outlet ings of counterfeit medicines are counterfeit Tamiflu? Alli? And surgic beats by dre studio cheap al mesh, Merchandising Fire label also has the right experi…

Comments