+1-888-365-2779
Try Now
More in this section
Categories
Bloggers
Blogs RSS feed

Implement Forum subscription in Sitefinity 3.x

by Ivan Dimitrov
In this post I will show you how you can implement Forum subscription in Sitefinity. Instead of going each time to a given post you can just subscribe to the forum post and receive email notification once someone reply to you or you just want to stay informed about the progress of a post.

 

1. I created a database table where I will persist the subscriber - threadID data. You can use the code below to create the same table at your end.

SET ANSI_NULLS ON 
GO 
 
SET QUOTED_IDENTIFIER ON 
GO 
 
CREATE TABLE [dbo].[ForumSubscribers]( 
    [ThreadID] [uniqueidentifier] NOT NULL
    [UserID] [uniqueidentifier] NOT NULL
    [UserEmail] [nvarchar](50) NOT NULL
 CONSTRAINT [PK_ForumSubscribers] PRIMARY KEY CLUSTERED  
    [ThreadID] ASC
    [UserID] ASC 
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY
ON [PRIMARY
 
GO 
 

2. I created a simple LINQ-SQL class called ForumSubscriptionDataContext

3. I modified templates below.

 ~/Sitefinity/ControlTemplates/Forums/SingleThread.ascx - this template list all post in a thread. Here I will add "subscribe" and unsubscribe links.

 

    <div class="sf_threadTitle"
        <h1><asp:Literal runat="server" ID="threadTitle"></asp:Literal></h1
        <asp:LinkButton ID="deleteThreadButton" runat="server" Text="<%$Resources:DeleteThread %>"></asp:LinkButton> 
       <asp:LinkButton ID="subscribeBtn" runat="server" Text="Subscribe to this thread" ></asp:LinkButton> 
       <asp:LinkButton ID="UnSubscribeBtn" runat="server" Text="UnSubscribe to this thread" ></asp:LinkButton> 
    </div> 

 

Now I have to create a code behind of this template and subscribe for Click event of each link, so that I can execute our logic.

- Page_Load - subscribe for click events of our buttons.

- OnPreRender - here I am getting the thread ID from the QueryString. ForumSubscriptionDataContext class  is used to manage the data from my custom tablet. Here OnPreRender I check whethet the current user is subscribed to this thread or not and show/hide Sibscribe and Unsibscribe links.

- UnSubscribeBtn_Click - remove the user from the datasource

- subscribeBtn_Click - add new subscriber to the datasource

 

public partial class Sitefinity_ControlTemplates_Forums_SingleThread : System.Web.UI.UserControl 
    public void Page_Load(object sender, EventArgs e) 
    { 
        // subscribe for click events of our buttons 
        this.subscribeBtn.Click += new EventHandler(subscribeBtn_Click); 
        this.UnSubscribeBtn.Click += new EventHandler(UnSubscribeBtn_Click); 
    } 
 
    // Here we have to check whether the user is subscribed to the forum or not  
    // and hide or show - subscribe and unsubscribe links 
    protected override void OnPreRender(EventArgs e) 
    { 
        base.OnPreRender(e); 
        if (!String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["mode"]) && !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["thread"])) 
        { 
            Guid ThreadID = new Guid(HttpContext.Current.Request.QueryString["thread"].ToString()); 
            ForumSubscriptionDataContext dataContext = new ForumSubscriptionDataContext(); 
            //we are sure that this query it will only result in one record - the current user email. So we use  
            // SingleOrDefault(); Returns the only element of a sequence, or a default value if the sequence is empty; 
            //this method throws an exception if there is more than one element in the sequence. 
            var query = (from sub in dataContext.ForumSubscribers 
                         where sub.ThreadID == ThreadID 
                         select sub.UserEmail).SingleOrDefault(); 
            if (query != null
            { 
                subscribeBtn.Visible = false
                UnSubscribeBtn.Visible = true
            } 
            else 
            { 
                subscribeBtn.Visible = true
                UnSubscribeBtn.Visible = false
 
            } 
        } 
    } 
    /// <summary> 
    /// remove an user from the database 
    /// </summary> 
    /// <param name="sender"></param> 
    /// <param name="e"></param> 
    void UnSubscribeBtn_Click(object sender, EventArgs e) 
    { 
        Guid ThreadID = new Guid(HttpContext.Current.Request.QueryString["thread"].ToString()); 
        string uName = Telerik.Security.UserManager.GetCurrentUserName(); 
        MembershipUser user = Membership.GetUser(uName); 
        Guid userID = new Guid(user.ProviderUserKey.ToString()); 
        string eMail = user.Email; 
        ForumSubscriptionDataContext dataContext = new ForumSubscriptionDataContext(); 
        var query = from sub in dataContext.ForumSubscribers 
                    where sub.ThreadID == ThreadID && sub.UserID == userID 
                    select sub; 
        var record = query.First<ForumSubscriber>(); 
        dataContext.ForumSubscribers.DeleteOnSubmit(record); 
        dataContext.SubmitChanges(); 
        subscriptionMessage.Text = "<span style=background-color:Red;>YOU HAVE BEEN SUCCESSFULLY UNSUBSCRIBED</span>"
    } 
    /// <summary> 
    /// add user to the datbase 
    /// </summary> 
    /// <param name="sender"></param> 
    /// <param name="e"></param> 
    void subscribeBtn_Click(object sender, EventArgs e) 
    { 
        if (!String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["mode"]) && !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["thread"])) 
        { 
            // get the thread ID. 
            Guid ThreadID = new Guid(HttpContext.Current.Request.QueryString["thread"].ToString()); 
            string uName = Telerik.Security.UserManager.GetCurrentUserName(); 
            MembershipUser user = Membership.GetUser(uName); 
            Guid userID = new Guid(user.ProviderUserKey.ToString()); 
            string eMail = user.Email; 
            // subscribe this user  
            ForumSubscriptionDataContext dataContext = new ForumSubscriptionDataContext(); 
            ForumSubscriber newSubscriber = new ForumSubscriber(); 
            newSubscriber.ThreadID = ThreadID; 
            newSubscriber.UserID = userID; 
            newSubscriber.UserEmail = eMail; 
            dataContext.ForumSubscribers.InsertOnSubmit(newSubscriber); 
            dataContext.SubmitChanges(); 
            subscriptionMessage.Text = "<span style=background-color:Green;>YOU HAVE BEEN SUCCESSFULLY SUBSCRIBED</span>"
        } 
    } 
 

 

 ~/Sitefinity/ControlTemplates/Forums/EditPost.ascx -  I use this template to get the newly added content and all previous posts and send an emil to the subscribed user. Here I created a code behind of the template and on Page_Load I subscribed for save button click.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Data.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Telerik.Forums.WebControls; 
using Telerik.Forums; 
using Telerik.Security; 
using System.Web.Security; 
using Telerik.Web.UI; 
using System.Net.Mail; 
using System.Collections; 
using Telerik.Forums.Data; 
 
public partial class Sitefinity_ControlTemplates_Forums_EditPost : System.Web.UI.UserControl 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        this.saveButton.Click += new EventHandler(saveButton_Click); 
    } 
 
    void saveButton_Click(object sender, EventArgs e) 
    { 
        if (!String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["mode"]) && !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["thread"])) 
        { 
            // get the thread ID. 
            Guid ThreadID = new Guid(HttpContext.Current.Request.QueryString["thread"].ToString()); 
            ForumSubscriptionDataContext dataContext = new ForumSubscriptionDataContext(); 
            string uri = HttpContext.Current.Request.Url.ToString(); 
            // get our subscriber 
            var query = from sub in dataContext.ForumSubscribers 
                        where sub.ThreadID == ThreadID 
                        select sub.UserEmail; 
            // send email to our subscriber that there is a new post 
            foreach (var email in query) 
            { 
                MailMessage message = new MailMessage("yourhost@here.com", email); 
                message.IsBodyHtml = true
                message.Body = "<b>ThreadConversation</b>:" + tbQuote.Content + "<b>LastReply is:</b>" + editor.Content + "<br />" + "<i>Click the link below to reply</i>" + "<p>" + uri; 
                message.From = new MailAddress("yourhost@here.com"); 
                message.Sender = new MailAddress("yourhost@here.com"); 
                SmtpClient client = new SmtpClient(); 
                client.Send(message); 
            } 
            dataContext.Dispose(); 
        } 
    } 
 

13 comments

Leave a comment
  1. SaQ Jan 01, 2010
    well.. its really good.
    but in sitefinity version i am using, 3.7
    there is no "threadID" in the querystring... :-(
    what should i do??
  2. Ivan Dimitrov Jan 13, 2010
    I get back to you in our forums where you opened a request
  3. Jay Sep 27, 2010
    Could you post a link to that forum thread?  I'm interested in this as well.

    Great write up.  Thanks!
  4. tarun Oct 28, 2010
    Where was this request opened?
  5. tarun Oct 28, 2010
    Where was this request opened?
  6. tarun Oct 28, 2010
    Where was this request opened?
  7. tarun Oct 28, 2010
    oh..great I just refreshed this page and comment adds again and again.
  8. tarun Oct 28, 2010
    oh..great I just refreshed this page and comment adds again and again.
  9. tarun Oct 28, 2010
    oh..great I just refreshed this page and comment adds again and again.
  10. sathi Dec 17, 2010
    The code works fine for me I have just follow the exact steps described by this tallanted person and was able to insert, update and delete.
    Dog Boots
  11. Mandybnb Mar 15, 2013
    Women UGG Classic Short Boots Chestnut zaxjpehd Women UGG Classic Short Boots Black aoumnmjp Women UGG Classic Tall Boots Chestnut epszppwb Women UGG Classic Tall Boots Chocolate yveqpxvn Women UGG Classic Tall Boots Black atxmrbtj Women UGG Classic Tall Boots Navy dmsagwxh Women UGG Classic Tall Boots Sand oskjkgeh Women UGG Classic Tall Boots Grey krkvkfbx Women UGG Classic Cardy Boots Grey dfgylzdf Women UGG Classic Cardy Boots Black duxcwcrc Women UGG Classic Mini Boots Chestnut buvctsso Women UGG Classic Mini Boots Black arvmqpgb Women UGG Classic Short Boots Grey jhalqxbu Women UGG Classic Short Boots Navy sgzhwznk Women UGG Classic Short Boots Chocolate jimffmwh Women UGG Classic Short Boots Sand ryjhkgth Women UGG Classic Cardy Boots Chocolate ksscgigi Women UGG Classic Cardy Boots Chestnut raovnlwc Women UGG Classic Cardy Boots Black qukfusgy Women UGG Classic Cardy Boots Grey mctqrirn Women UGG Classic Cardy Boots Sand nbjdsosy Women UGG Classic Short Dylyn Boots Jacket Chestnut tpduanan Women UGG Classic Short Dylyn Boots Jacket Black smatserx Women UGG Classic Mini Boots Navy ndushfwd Women UGG Classic Mini Boots Chocolate oxjerknx Women UGG Classic Mini Boots Grey yyfailuo Women UGG Classic Mini Boots Sand xphuqier Women UGG Classic Short Sparkles Boots Silver akfmwnua Women UGG Classic Short Sparkles Boots Red wqrafkdk Women UGG Classic Short Sparkles Boots Blue fjgbenur Women UGG Classic Short Sparkles Boots Black fgpnmfys Women UGG Classic Short Sparkles Boots Gold frqrvvrq Women UGG Classic Tall Dylyn Boots Jacket Chestnut lmouprcr Women UGG Classic Tall Dylyn Boots Jacket Black popgghku Women UGG Classic Tall Boots Red dlrknolo Women UGG Classic Tall Boots Emerald mbrsnzkw Women UGG Classic Tall Boots Pink xsvvpyfz Women UGG Classic Tall Boots Purple gprtzjpi Women UGG Classic Short Boots Emerald uawgirgs Women UGG Classic Short Boots Red gezxaxqf Women UGG Classic Short Boots Pink ijutdsjp Women UGG Classic Short Boots Purple kztlrmbg Womens Classic Short 5831 Chocolate Ugg Sale vtxawqgq Womens Classic Short 5831 Grey Ugg Sale awaghsqq Womens Classic Short 5831 Black Ugg Sale llclqawv Womens Classic Short 5831 Chestnut Ugg Sale jpayjohb Womens Classic Tall 5852 Chestnut Ugg Sale njyzjzmz Womens Classic Tall 5852 Grey Ugg Sale lnhnbqmp Womens Classic Tall 5852 Black Ugg Sale osxcsozx Womens 5804 Classic Tall Chestnut nsuqbsis Womens 5815 Classic Tall Leopard Grain sipslbcf Womens 5815 Classic Tall Romantic Flower cufhzbvc Womens 5854 Classic Mini Leopard Grain oawcjqkf Men UGG Classic Short Boots Cream-Coloured hzdulabs Men UGG Classic Short Boots Grey udzzxspy Men UGG Classic Short Boots Chestnut uvfvmlfr Men UGG Classic Short Boots Black wyzfxivb Men UGG Classic Short Boots Chocolate glggfxzd Mens UGG Classic Short 5854 Boots Chestnut tbqwcoqu Mens UGG Classic Short 5854 Boots Chocolate hcoftlqi Mens UGG Classic Short 5854 Boots Black oavhaeiv Mens UGG Classic Short 5854 Boots Grey zodusuim Mens UGG Classic Short Bomber boots 5984 fkotntbh Kids UGG Classic Short Boots Black onqhyxbq Kids UGG Classic Short Boots Chestnut fripqlbu Kids UGG Classic Short Boots Grey ecvwfibu Kids UGG Classic Short Boots Grey ggeecdwd Kids UGG Classic Short Boots Cream-Coloured oiqrxsxr Kids UGG Classic Short Boots Pink zfyrcclk Kids UGG Classic Short Boots Turquoise qjistgur Kids UGG Classic Tall Boots Chocolate qpjbafjy Kids UGG Classic Tall Boots Black iettlzny Kids UGG Classic Tall Boots Chestnut swmeaqbb Mens UGG Butte 5521 Boots Chestnut exniikwf Mens UGG Butte 5521 Boots Grey rionwbzi Mens UGG Butte 5521 Boots Chocolate aedrcwtq Mens UGG Butte 5521 Boots Black rrjekgtd Women UGG Bailey Button Triplet Boots Chestnut sshnoxiz Women UGG Bailey Button Triplet Boots Black fgmxmljz Women UGG Bailey Button Triplet Boots Grey vsyhguhh Women UGG Bailey Button Boots Chestnut vriymumb Women UGG Bailey Button Boots Black hgnubwzc Women UGG Bailey Button Boots Grey tbkzcuko Women UGG Bailey Button Triplet Boots Grey crehdenb Women UGG Bailey Button Triplet Boots Sand rrobxsmi Women UGG Bailey Button Boots Sand yfylgqef Women UGG Bailey Button Boots Chocolate igcpfcev Women UGG Bailey Button Boots Navy cgwduslp Women UGG Bailey Button Triplet Boots Navy gmvhqcfh Women UGG Bailey Button Bomber Boots Chocolate wwiohrel Women UGG Bailey Button Bomber Boots Pewter njqztbwl Women UGG Bailey Button Mini Boots Black kcaaddva Women UGG Bailey Button Mini Boots Chestnut gtgtxtfn Women UGG Bailey Button Mini Boots Chocolate hriygotn Women UGG Bailey Button Mini Boots Grey nssqvzbe Women UGG Bailey Button Mini Boots Sand lfmwvlda Women UGG Bailey Button Boots Green xzktjajm Women UGG Bailey Button Boots Red nrqgaamo Women UGG Bailey Button Boots Sienna enjfawjt Women UGG Bailey Button Triplet Boots Green wyemlpov Women UGG Bailey Button Triplet Boots Red ariyxxrq Women UGG Bailey Button Triplet Boots Pink zevugyrh Women UGG Bailey Button Triplet Boots Purple txctdgqy Kids UGG Bailey Button Boots Black idxhjvxb Kids UGG Bailey Button Boots Chestnut zcoeueko Kids UGG Bailey Button Boots Chocolate cxltmjgw Kids UGG Bailey Button Boots Grey gyymjlam Kids UGG Bailey Button Boots Cream-Coloured qzlpsmuz Kids UGG Bailey Button Triplet Boots Black tmappbxs Kids UGG Bailey Button Triplet Boots Chestnut lzzydkxc Kids UGG Bailey Button Triplet Boots Grey cnhzehtf Kids UGG Bailey Button Triplet Boots Grey panloblj Kids UGG Bailey Button Triplet Boots Sand xzcphnxt Kids UGG Bailey Button Triplet Boots Pink qzydikzf Kids UGG Bailey Bow Boots Cadetblue mlazlijy Kids UGG Bailey Bow Boots Raspberry Rose devptdxj Kids UGG Bailey Bow Boots Black nnsxceed Kids UGG Bailey Bow Boots Purple kssrcupx UGG Bailey Bow 1002954 Boots Blue yjmoirml UGG Bailey Bow 1002954 Boots Red fwapzmuw UGG Bailey Bow 1002954 Boots Black jadkofun UGG Bailey Bow 1002954 Boots Purple npqugdnm
  12. Suttonhei Mar 19, 2013
    Women UGG Classic Short Boots Chestnut aggunrnd Women UGG Classic Short Boots Black ymxxnvxk Women UGG Classic Tall Boots Chestnut gnjvrjez Women UGG Classic Tall Boots Chocolate rhgagbfa Women UGG Classic Tall Boots Black vpzxxrcg Women UGG Classic Tall Boots Navy rsmhzpte Women UGG Classic Tall Boots Sand rlmtufzu Women UGG Classic Tall Boots Grey cgqvdfmc Women UGG Classic Cardy Boots Grey qcxdojsn Women UGG Classic Cardy Boots Black sarveneg Women UGG Classic Mini Boots Chestnut bsestfiz Women UGG Classic Mini Boots Black luddxabc Women UGG Classic Short Boots Grey cvxsjyuy Women UGG Classic Short Boots Navy ujiyaizs Women UGG Classic Short Boots Chocolate gmgmoxhg Women UGG Classic Short Boots Sand joflligp Women UGG Classic Cardy Boots Chocolate ukchvvsl Women UGG Classic Cardy Boots Chestnut eoesskof Women UGG Classic Cardy Boots Black agsbsabj Women UGG Classic Cardy Boots Grey bcebppyv Women UGG Classic Cardy Boots Sand btyvbpya Women UGG Classic Short Dylyn Boots Jacket Chestnut jlockvtb Women UGG Classic Short Dylyn Boots Jacket Black yzwunpwd Women UGG Classic Mini Boots Navy byccmanp Women UGG Classic Mini Boots Chocolate hkcqxdxw Women UGG Classic Mini Boots Grey kutyokzz Women UGG Classic Mini Boots Sand oehltswm Women UGG Classic Short Sparkles Boots Silver gpuohoxg Women UGG Classic Short Sparkles Boots Red rgmhskbc Women UGG Classic Short Sparkles Boots Blue qipwqrem Women UGG Classic Short Sparkles Boots Black gruzzvij Women UGG Classic Short Sparkles Boots Gold znufiunt Women UGG Classic Tall Dylyn Boots Jacket Chestnut hqjsqpxc Women UGG Classic Tall Dylyn Boots Jacket Black vqxhivrn Women UGG Classic Tall Boots Red ivluhlmx Women UGG Classic Tall Boots Emerald ycnrezgp Women UGG Classic Tall Boots Pink dlffifyc Women UGG Classic Tall Boots Purple cldomtnp Women UGG Classic Short Boots Emerald ylrnmjof Women UGG Classic Short Boots Red fqcljfox Women UGG Classic Short Boots Pink cwtjewrq Women UGG Classic Short Boots Purple agnuzcby Womens Classic Short 5831 Chocolate Ugg Sale fubgaovn Womens Classic Short 5831 Grey Ugg Sale initseji Womens Classic Short 5831 Black Ugg Sale yrzcejqe Womens Classic Short 5831 Chestnut Ugg Sale npbwyeif Womens Classic Tall 5852 Chestnut Ugg Sale cnnfwgpc Womens Classic Tall 5852 Grey Ugg Sale cxxrdhge Womens Classic Tall 5852 Black Ugg Sale iafrxsii Womens 5804 Classic Tall Chestnut yaoopavt Womens 5815 Classic Tall Leopard Grain kveevtei Womens 5815 Classic Tall Romantic Flower vbggrqcg Womens 5854 Classic Mini Leopard Grain upyqrejs Men UGG Classic Short Boots Cream-Coloured ywooiimj Men UGG Classic Short Boots Grey yimbesvs Men UGG Classic Short Boots Chestnut edmdmdmy Men UGG Classic Short Boots Black vlayjfhd Men UGG Classic Short Boots Chocolate rpjepnwo Mens UGG Classic Short 5854 Boots Chestnut ibcfyxyt Mens UGG Classic Short 5854 Boots Chocolate egqzygkh Mens UGG Classic Short 5854 Boots Black scmupmrj Mens UGG Classic Short 5854 Boots Grey pnatdtzj Mens UGG Classic Short Bomber boots 5984 cnahsivc Kids UGG Classic Short Boots Black hmjfnflw Kids UGG Classic Short Boots Chestnut sossntei Kids UGG Classic Short Boots Grey pylirwkj Kids UGG Classic Short Boots Grey qtmgtdxj Kids UGG Classic Short Boots Cream-Coloured hudbuzou Kids UGG Classic Short Boots Pink xhgsydka Kids UGG Classic Short Boots Turquoise zcevdjfu Kids UGG Classic Tall Boots Chocolate gcxkzulk Kids UGG Classic Tall Boots Black mffonfkt Kids UGG Classic Tall Boots Chestnut idaxkwym Mens UGG Butte 5521 Boots Chestnut jeqaqnxi Mens UGG Butte 5521 Boots Grey fmblywyz Mens UGG Butte 5521 Boots Chocolate kqprpfad Mens UGG Butte 5521 Boots Black wodwzknw Women UGG Bailey Button Triplet Boots Chestnut wixkjgqk Women UGG Bailey Button Triplet Boots Black ngzfvfuc Women UGG Bailey Button Triplet Boots Grey bzaccabt Women UGG Bailey Button Boots Chestnut hgzmkktj Women UGG Bailey Button Boots Black wsylsgzx Women UGG Bailey Button Boots Grey gczdmtjs Women UGG Bailey Button Triplet Boots Grey xbclekod Women UGG Bailey Button Triplet Boots Sand gngydsih Women UGG Bailey Button Boots Sand fijhcvdh Women UGG Bailey Button Boots Chocolate ejnsitdx Women UGG Bailey Button Boots Navy qqbadvgg Women UGG Bailey Button Triplet Boots Navy kbwvelyz Women UGG Bailey Button Bomber Boots Chocolate efrcgaqs Women UGG Bailey Button Bomber Boots Pewter drnzmqpw Women UGG Bailey Button Mini Boots Black nladkket Women UGG Bailey Button Mini Boots Chestnut cbayfujx Women UGG Bailey Button Mini Boots Chocolate jhaqwqst Women UGG Bailey Button Mini Boots Grey tezetadv Women UGG Bailey Button Mini Boots Sand agutqbcw Women UGG Bailey Button Boots Green ucennhgp Women UGG Bailey Button Boots Red toksxcas Women UGG Bailey Button Boots Sienna olhxlsib Women UGG Bailey Button Triplet Boots Green epztnhdh Women UGG Bailey Button Triplet Boots Red qibadpjr Women UGG Bailey Button Triplet Boots Pink tvnukotj Women UGG Bailey Button Triplet Boots Purple apbbqtqa Kids UGG Bailey Button Boots Black hdyxzkzk Kids UGG Bailey Button Boots Chestnut ueriqont Kids UGG Bailey Button Boots Chocolate eyxgpypd Kids UGG Bailey Button Boots Grey lbczzipd Kids UGG Bailey Button Boots Cream-Coloured blvqaixe Kids UGG Bailey Button Triplet Boots Black iqgqfhlr Kids UGG Bailey Button Triplet Boots Chestnut esuhutuy Kids UGG Bailey Button Triplet Boots Grey bvqevysz Kids UGG Bailey Button Triplet Boots Grey sznkttob Kids UGG Bailey Button Triplet Boots Sand bfjkvcyg Kids UGG Bailey Button Triplet Boots Pink iugylhai Kids UGG Bailey Bow Boots Cadetblue yhbqceoe Kids UGG Bailey Bow Boots Raspberry Rose rfrinbge Kids UGG Bailey Bow Boots Black wsumxkuk Kids UGG Bailey Bow Boots Purple qyabgnpm UGG Bailey Bow 1002954 Boots Blue cianjxrk UGG Bailey Bow 1002954 Boots Red xosmuhre UGG Bailey Bow 1002954 Boots Black kmoasywc UGG Bailey Bow 1002954 Boots Purple ktriwdgb
  13. Suttoncxd Mar 25, 2013
    Women UGG Classic Short Boots Chestnut onootonu Women UGG Classic Short Boots Black uzgzylyb Women UGG Classic Tall Boots Chestnut twxshwyy Women UGG Classic Tall Boots Chocolate lhdmdsab Women UGG Classic Tall Boots Black udyrlftr Women UGG Classic Tall Boots Navy ugoqbcpp Women UGG Classic Tall Boots Sand iecxffvh Women UGG Classic Tall Boots Grey bhauhcde Women UGG Classic Cardy Boots Grey sylpfszq Women UGG Classic Cardy Boots Black oqhetwcl Women UGG Classic Mini Boots Chestnut occomkec Women UGG Classic Mini Boots Black euuosoeb Women UGG Classic Short Boots Grey mefibhpn Women UGG Classic Short Boots Navy gdnheujp Women UGG Classic Short Boots Chocolate vigvtzye Women UGG Classic Short Boots Sand ablhwdjl Women UGG Classic Cardy Boots Chocolate imhqtjnr Women UGG Classic Cardy Boots Chestnut orswtnox Women UGG Classic Cardy Boots Black szxrmtqx Women UGG Classic Cardy Boots Grey hdourpgz Women UGG Classic Cardy Boots Sand pwsdzoma Women UGG Classic Short Dylyn Boots Jacket Chestnut tcvcgiyj Women UGG Classic Short Dylyn Boots Jacket Black wnhszopf Women UGG Classic Mini Boots Navy iczdiglk Women UGG Classic Mini Boots Chocolate rundfnwx Women UGG Classic Mini Boots Grey tcilucby Women UGG Classic Mini Boots Sand yuqkjlwm Women UGG Classic Short Sparkles Boots Silver bueridvk Women UGG Classic Short Sparkles Boots Red cbprrdvh Women UGG Classic Short Sparkles Boots Blue zgbpwmpq Women UGG Classic Short Sparkles Boots Black tccapocp Women UGG Classic Short Sparkles Boots Gold xcxynvlt Women UGG Classic Tall Dylyn Boots Jacket Chestnut lwwqojco Women UGG Classic Tall Dylyn Boots Jacket Black lchneqoj Women UGG Classic Tall Boots Red ebvnnfsb Women UGG Classic Tall Boots Emerald apoxcrpe Women UGG Classic Tall Boots Pink hufpuihs Women UGG Classic Tall Boots Purple tzxnvlzf Women UGG Classic Short Boots Emerald btvqrwwu Women UGG Classic Short Boots Red zyuopoum Women UGG Classic Short Boots Pink jvjzdjne Women UGG Classic Short Boots Purple ceaagjfe Womens Classic Short 5831 Chocolate Ugg Sale mnfwndjh Womens Classic Short 5831 Grey Ugg Sale bpwkvcrk Womens Classic Short 5831 Black Ugg Sale njcyfuuy Womens Classic Short 5831 Chestnut Ugg Sale fwkwgnvh Womens Classic Tall 5852 Chestnut Ugg Sale mhxnirsm Womens Classic Tall 5852 Grey Ugg Sale zwlbzkcu Womens Classic Tall 5852 Black Ugg Sale qedjlfrm Womens 5804 Classic Tall Chestnut lcccvtoq Womens 5815 Classic Tall Leopard Grain hfwqfkcx Womens 5815 Classic Tall Romantic Flower daqlmkfk Womens 5854 Classic Mini Leopard Grain pkdydhnv Men UGG Classic Short Boots Cream-Coloured stuykkhh Men UGG Classic Short Boots Grey cxzbcioo Men UGG Classic Short Boots Chestnut nfytgnhd Men UGG Classic Short Boots Black mptbixim Men UGG Classic Short Boots Chocolate mtlbtogi Mens UGG Classic Short 5854 Boots Chestnut hjchtqpa Mens UGG Classic Short 5854 Boots Chocolate qmmkjxvu Mens UGG Classic Short 5854 Boots Black lrlayywm Mens UGG Classic Short 5854 Boots Grey wtogxxsw Mens UGG Classic Short Bomber boots 5984 eyzssnqg Kids UGG Classic Short Boots Black psqeihng Kids UGG Classic Short Boots Chestnut pavtuppk Kids UGG Classic Short Boots Grey mldqhtga Kids UGG Classic Short Boots Grey imkllnsx Kids UGG Classic Short Boots Cream-Coloured csibydgk Kids UGG Classic Short Boots Pink ghjzjcoi Kids UGG Classic Short Boots Turquoise pgmopdpx Kids UGG Classic Tall Boots Chocolate gcaiedmz Kids UGG Classic Tall Boots Black jezfimdd Kids UGG Classic Tall Boots Chestnut tqlfdvsu Mens UGG Butte 5521 Boots Chestnut yporwpts Mens UGG Butte 5521 Boots Grey pioaydmd Mens UGG Butte 5521 Boots Chocolate itlhzzni Mens UGG Butte 5521 Boots Black nomthhnx Women UGG Bailey Button Triplet Boots Chestnut ytpxmmwo Women UGG Bailey Button Triplet Boots Black bdoyqivl Women UGG Bailey Button Triplet Boots Grey hwxyryvy Women UGG Bailey Button Boots Chestnut bxtqxfgi Women UGG Bailey Button Boots Black oyjiepgs Women UGG Bailey Button Boots Grey mxqgasjo Women UGG Bailey Button Triplet Boots Grey ixeinkwx Women UGG Bailey Button Triplet Boots Sand zappwkwe Women UGG Bailey Button Boots Sand ifcmyong Women UGG Bailey Button Boots Chocolate rhfwqlqo Women UGG Bailey Button Boots Navy aelryxme Women UGG Bailey Button Triplet Boots Navy wnghwuac Women UGG Bailey Button Bomber Boots Chocolate jmlzdmln Women UGG Bailey Button Bomber Boots Pewter qmwmwuye Women UGG Bailey Button Mini Boots Black nthqutvs Women UGG Bailey Button Mini Boots Chestnut nnwannbf Women UGG Bailey Button Mini Boots Chocolate jrmwnfyr Women UGG Bailey Button Mini Boots Grey jxypxeen Women UGG Bailey Button Mini Boots Sand nswzbufo Women UGG Bailey Button Boots Green tkqwdtcg Women UGG Bailey Button Boots Red plwhafgy Women UGG Bailey Button Boots Sienna zovlueai Women UGG Bailey Button Triplet Boots Green izswhoeq Women UGG Bailey Button Triplet Boots Red lcqsxxuk Women UGG Bailey Button Triplet Boots Pink ymouaprq Women UGG Bailey Button Triplet Boots Purple qqwzklxu Kids UGG Bailey Button Boots Black xlusegka Kids UGG Bailey Button Boots Chestnut ouyexnsj Kids UGG Bailey Button Boots Chocolate uhbcfbxa Kids UGG Bailey Button Boots Grey pwhalvup Kids UGG Bailey Button Boots Cream-Coloured rspbvqxt Kids UGG Bailey Button Triplet Boots Black edmrzgzj Kids UGG Bailey Button Triplet Boots Chestnut dghgpapj Kids UGG Bailey Button Triplet Boots Grey gijajina Kids UGG Bailey Button Triplet Boots Grey rmaxqftv Kids UGG Bailey Button Triplet Boots Sand jchjuwme Kids UGG Bailey Button Triplet Boots Pink psrplnvz Kids UGG Bailey Bow Boots Cadetblue zmhjpcpu Kids UGG Bailey Bow Boots Raspberry Rose ofkjjbij Kids UGG Bailey Bow Boots Black kdgdxitz Kids UGG Bailey Bow Boots Purple ivypmeug UGG Bailey Bow 1002954 Boots Blue hdebhhcd UGG Bailey Bow 1002954 Boots Red nipxcxdl UGG Bailey Bow 1002954 Boots Black nbgtprdq UGG Bailey Bow 1002954 Boots Purple ctndriul

    Leave a comment