typecho不使用插件实现Ajax评论功能

. 分享 . 122 吐槽 . 353人围观

为了不使用插件实现Ajax评论功能需要实现:

监听评论表单,改用ajax方式提交
创建新的评论表单提交地址(用Typecho 主题提供的系统方法themeInit实现)

当访问文章加载主题时,themeInit方法首先被加载,可在此方法中判断是否为添加评论的操作,即新的评论表单地址为文章的链接(permalink).具体判断方法如下

// 主题初始化
function themeInit($archive){
    // 判断是否是添加评论的操作
    // 为文章或页面、post操作,且包含参数`themeAction=comment`(自定义)
    if($archive->is('single') && $archive->request->isPost() && $archive->request->is('themeAction=comment')){
        // 为添加评论的操作时
        ajaxComment($archive);
    }
}

要实现ajax评论,则无法使用系统默认的feedback,这里我们将复制feedback功能并改造为我们需要的方法

    /**
     * ajaxComment
     * 实现Ajax评论的方法(实现feedback中的comment功能)
     * @param Widget_Archive $archive
     * @return void
     */
    function ajaxComment($archive){
        $options = Helper::options();
        $user = Typecho_Widget::widget('Widget_User');
        $db = Typecho_Db::get();
        // Security 验证不通过时会直接跳转,所以需要自己进行判断
        // 需要开启反垃圾保护,此时将不验证来源
        if($archive->request->get('_') != Helper::security()->getToken($archive->request->getReferer())){
            $archive->response->throwJson(array('status'=>0,'msg'=>_t('非法请求')));
        }
        /** 评论关闭 */
        if(!$archive->allow('comment')){
            $archive->response->throwJson(array('status'=>0,'msg'=>_t('评论已关闭')));
        }
        /** 检查ip评论间隔 */
        if (!$user->pass('editor', true) && $archive->authorId != $user->uid &&
        $options->commentsPostIntervalEnable){
            $latestComment = $db->fetchRow($db->select('created')->from('table.comments')
                        ->where('cid = ?', $archive->cid)
                        ->where('ip = ?', $archive->request->getIp())
                        ->order('created', Typecho_Db::SORT_DESC)
                        ->limit(1));
    
            if ($latestComment && ($options->gmtTime - $latestComment['created'] > 0 &&
            $options->gmtTime - $latestComment['created'] < $options->commentsPostInterval)) {
                $archive->response->throwJson(array('status'=>0,'msg'=>_t('对不起, 您的发言过于频繁, 请稍侯再次发布')));
            }        
        }
    
        $comment = array(
            'cid'       =>  $archive->cid,
            'created'   =>  $options->gmtTime,
            'agent'     =>  $archive->request->getAgent(),
            'ip'        =>  $archive->request->getIp(),
            'ownerId'   =>  $archive->author->uid,
            'type'      =>  'comment',
            'status'    =>  !$archive->allow('edit') && $options->commentsRequireModeration ? 'waiting' : 'approved'
        );
    
        /** 判断父节点 */
        if ($parentId = $archive->request->filter('int')->get('parent')) {
            if ($options->commentsThreaded && ($parent = $db->fetchRow($db->select('coid', 'cid')->from('table.comments')
            ->where('coid = ?', $parentId))) && $archive->cid == $parent['cid']) {
                $comment['parent'] = $parentId;
            } else {
                $archive->response->throwJson(array('status'=>0,'msg'=>_t('父级评论不存在')));
            }
        }
        $feedback = Typecho_Widget::widget('Widget_Feedback');
        //检验格式
        $validator = new Typecho_Validate();
        $validator->addRule('author', 'required', _t('必须填写用户名'));
        $validator->addRule('author', 'xssCheck', _t('请不要在用户名中使用特殊字符'));
        $validator->addRule('author', array($feedback, 'requireUserLogin'), _t('您所使用的用户名已经被注册,请登录后再次提交'));
        $validator->addRule('author', 'maxLength', _t('用户名最多包含200个字符'), 200);
    
        if ($options->commentsRequireMail && !$user->hasLogin()) {
            $validator->addRule('mail', 'required', _t('必须填写电子邮箱地址'));
        }
    
        $validator->addRule('mail', 'email', _t('邮箱地址不合法'));
        $validator->addRule('mail', 'maxLength', _t('电子邮箱最多包含200个字符'), 200);
    
        if ($options->commentsRequireUrl && !$user->hasLogin()) {
            $validator->addRule('url', 'required', _t('必须填写个人主页'));
        }
        $validator->addRule('url', 'url', _t('个人主页地址格式错误'));
        $validator->addRule('url', 'maxLength', _t('个人主页地址最多包含200个字符'), 200);
    
        $validator->addRule('text', 'required', _t('必须填写评论内容'));
    
        $comment['text'] = $archive->request->text;
    
        /** 对一般匿名访问者,将用户数据保存一个月 */
        if (!$user->hasLogin()) {
            /** Anti-XSS */
            $comment['author'] = $archive->request->filter('trim')->author;
            $comment['mail'] = $archive->request->filter('trim')->mail;
            $comment['url'] = $archive->request->filter('trim')->url;
    
            /** 修正用户提交的url */
            if (!empty($comment['url'])) {
                $urlParams = parse_url($comment['url']);
                if (!isset($urlParams['scheme'])) {
                    $comment['url'] = 'http://' . $comment['url'];
                }
            }
    
            $expire = $options->gmtTime + $options->timezone + 30*24*3600;
            Typecho_Cookie::set('__typecho_remember_author', $comment['author'], $expire);
            Typecho_Cookie::set('__typecho_remember_mail', $comment['mail'], $expire);
            Typecho_Cookie::set('__typecho_remember_url', $comment['url'], $expire);
        } else {
            $comment['author'] = $user->screenName;
            $comment['mail'] = $user->mail;
            $comment['url'] = $user->url;
    
            /** 记录登录用户的id */
            $comment['authorId'] = $user->uid;
        }
    
        /** 评论者之前须有评论通过了审核 */
        if (!$options->commentsRequireModeration && $options->commentsWhitelist) {
            if ($feedback->size($feedback->select()->where('author = ? AND mail = ? AND status = ?', $comment['author'], $comment['mail'], 'approved'))) {
                $comment['status'] = 'approved';
            } else {
                $comment['status'] = 'waiting';
            }
        }
    
        if ($error = $validator->run($comment)) {
            $archive->response->throwJson(array('status'=>0,'msg'=> implode(';',$error)));
        }
    
        /** 添加评论 */
        $commentId = $feedback->insert($comment);
        if(!$commentId){
            $archive->response->throwJson(array('status'=>0,'msg'=>_t('评论失败')));
        }
        Typecho_Cookie::delete('__typecho_remember_text');
        $db->fetchRow($feedback->select()->where('coid = ?', $commentId)
        ->limit(1), array($feedback, 'push'));
        // 返回评论数据
        $data = array(
            'cid' => $feedback->cid,
            'coid' => $feedback->coid,
            'parent' => $feedback->parent,
            'mail' => $feedback->mail,
            'url' => $feedback->url,
            'ip' => $feedback->ip,
            'agent' => $feedback->agent,
            'author' => $feedback->author,
            'authorId' => $feedback->authorId,
            'permalink' => $feedback->permalink,
            'created' => $feedback->created,
            'datetime' => $feedback->date->format('Y-m-d H:i:s'),
            'status' => $feedback->status,
        );
        // 评论内容
        ob_start();
        $feedback->content();
        $data['content'] = ob_get_clean();
    
        $data['avatar'] = Typecho_Common::gravatarUrl($data['mail'], 48, Helper::options()->commentsAvatarRating, NULL, $archive->request->isSecure());
        $archive->response->throwJson(array('status'=>1,'comment'=>$data));
    }

当已经在functions.php文件中添加完上述方法时,就已经可以接收ajax评论了。
此时我们需要修改评论表单添加的方式及提交的地址。
在footer.php文件中添加方法

// 依赖jquery,请自行加载
    $(function(){
        // 监听评论表单提交
        $('#comment-form').submit(function(){
            var form = $(this), params = form.serialize();
            // 添加functions.php中定义的判断参数
            params += '&themeAction=comment';
            
            // 解析新评论并附加到评论列表
            var appendComment = function(comment){
                // 评论列表
                var el = $('#comments > .comment-list');
                if(0 != comment.parent){
                    // 子评论则重新定位评论列表
                    var el = $('#comment-'+comment.parent);
                    // 父评论不存在子评论时
                    if(el.find('.comment-children').length < 1){
                        $('<div class="comment-children"><ol class="comment-list"></ol></div>').appendTo(el);
                    }else if(el.find('.comment-children > .comment-list').length <1){
                        $('<ol class="comment-list"></ol>').appendTo(el.find('.comment-children'));
                    }
                    el = $('#comment-'+comment.parent).find('.comment-children').find('.comment-list');
                }
                if(0 == el.length){
                    $('<ol class="comment-list"></ol>').appendTo($('#comments'));
                    el = $('#comments > .comment-list');
                }
                            // 评论html模板,根据具体主题定制
                var html = '<li id="comment-{coid}" class="comment-body comment-ajax"><div class="comment-author"><span><img class="avatar" src="{avatar}" alt="{author}" width="32" height="32"></span><cite class="fn">{author}</cite></div><div class="comment-meta"><a href="{permalink}"><time>{datetime}</time></a></div><div class="comment-content">{content}</div></li>';
                $.each(comment,function(k,v){
                    regExp = new RegExp('{'+k+'}', 'g');
                    html = html.replace(regExp, v);
                });
                $(html).appendTo(el);
            }
            // ajax提交评论
            $.ajax({
                url: '<?php $this->permalink();?>',
                type: 'POST',
                data: params,
                dataType: 'json',
                beforeSend: function() { form.find('.submit').addClass('loading').html('<i class="icon icon-loading icon-pulse"></i> 提交中...').attr('disabled','disabled');},
                complete: function() { form.find('.submit').removeClass('loading').html('提交评论').removeAttr('disabled');},
                success: function(result){
                    if(1 == result.status){
                        // 新评论附加到评论列表
                        appendComment(result.comment);
                        form.find('textarea').val('');
                    }else{
                        // 提醒错误消息
                        alert(undefined === result.msg ? '<?php _e('评论出错!');?>' : result.msg);
                    }
                },
                error:function(xhr, ajaxOptions, thrownError){
                    alert('评论失败,请重试');
                }
            });
            return false;
        });
    });

ajax评论需要自定义评论模板,获取使用其他方式拼接评论html。

评论form表单的提交按钮需要添加class="submit"或修改代码为其他自定义的class

注:需开启评论的反垃圾保护

--本文转自降木子大佬,学习之用

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

孤独患者

嘤嘤嘤 ~ 您的爱心大炮射中了我 开心开心

使用微信扫描二维码完成支付

# 你可能在找...

评论
  1. Моё почтение! команда SEO для раскрутки и продвижения вебсайтов в поисковых серверах и также соц сетях. И меня зовут Антон, я учредитель группы копирайтеров, профессионалов, оптимизаторов, разработчиков, маркетологов, линкбилдеров, рерайтеров/копирайтеров, специалистов, link builders. Мы — команда амбициозных экспертов с семилетним профессиональным опытом работы в сфере фриланса. С нами Ваш личный сервис будет брать топовые позиции в поисковых системах Google и Yandex. Для вас мы предлагаем лучшую раскрутку online-проектов в поисковых сервисах! У абсолютно всех SEO-специалистов представленной сео-команды за плечами громадный высокопрофессиональный путь, мы чётко понимаем, как грамотно организовывать ваш личный онлайн-сервис, продвигать его на 1 место, перестроить трафик в заказы. Наша компанияреализует вам бесплатное предложение по продвижению любых веб-сайтов. С нетерпением ждем Вас.

    бесплатное поисковое продвижение сайта сео оптимизация бесплатно

    回复
  2. xam strongest cbd oil for sale

    回复
  3. pit cashman casino slots

    回复
  4. okx hemp oil cbd

    回复
  5. otu cbd oil florida

    回复
  6. vir free casino games online

    回复
  7. stl cbd

    回复
  8. aod cbd oil prices

    回复
  9. All ugr.bbfg.illed.cn.bui.xy personnel steroids avoided [URL=http://anguillacayseniorliving.com/viagra-pills/ - viagra generic[/URL - walmart viagra 100mg price [URL=http://foodfhonebook.com/proscar/ - buy proscar online[/URL - [URL=http://washingtonsharedparenting.com/antabuse/ - antabuse lowest price[/URL - [URL=http://trucknoww.com/cialis-5mg/ - cialis[/URL - [URL=http://gaiaenergysystems.com/viagra-buy-in-canada/ - viagra american express[/URL - [URL=http://foodfhonebook.com/tadacip/ - tadacip lowest price[/URL - [URL=http://diversepartnersnetwork.net/retin-a/ - buy retin a online[/URL - [URL=http://gaiaenergysystems.com/accutane/ - buy accutane[/URL - meatus; continuous www.viagra.com proscar antabuse generic cialis tadalafil 20mg generic cialis uk http://100mg-viagra-online.org/ buy tadacip online buy retin a online order accutane online centred longitudinally http://anguillacayseniorliving.com/viagra-pills/#viagra-pills viagra generic http://foodfhonebook.com/proscar/#proscar proscar http://washingtonsharedparenting.com/antabuse/#antabuse--lowest-price antabuse antabuse lowest price http://trucknoww.com/cialis-5mg/#cialis-5mg cialis 20 mg best price http://gaiaenergysystems.com/viagra-buy-in-canada/#viagra-buy-in-canada viagra generic http://foodfhonebook.com/tadacip/#tadacip tadacip http://diversepartnersnetwork.net/retin-a/#retin-a-cream tretinoin cream 0.05 http://gaiaenergysystems.com/accutane/#buy-accutane-canada order accutane online sip meta-analyses individual.

    回复
  10. buy viagra pills prednisolone buy online where to buy lasix prednixone tables for sale furosemide buy antabuse online without prescription trazodone metformin 850 suhagra online ventolin price

    回复
  11. csq cashman casino slots

    回复
  12. eei cbd oil in canada

    回复
  13. mmd cbd oil for sale

    回复
  14. edg cbd oil uk

    回复
  15. dwn casino real money

    回复
  16. laa vegas slots

    回复
  17. Never ztc.ynsb.illed.cn.gjw.kw radiata, opacify [URL=http://trucknoww.com/accutane/ - how to make accutane[/URL - [URL=http://dkgetsfit.com/prednisone/ - order prednisone online[/URL - [URL=http://anguillacayseniorliving.com/buy-prednisone/ - buy prednisone[/URL - [URL=http://diversepartnersnetwork.net/viagra-100mg/ - viagra[/URL - [URL=http://gaiaenergysystems.com/viagra-generic/ - generic viagra[/URL - [URL=http://tacticaltomahawkreviews.com/estrace/ - estrace online[/URL - [URL=http://tacticaltomahawkreviews.com/revia/ - revia implant[/URL - revia nail polish [URL=http://thenectarystpaul.com/pharmacy/ - online pharmacy[/URL - heterophil ipratropium, atlanta accutane law suits online prednisone buy prednisone without prescription buy prednisone on line viagra viagra generic estrace pills revia class of drugs canadian pharmacy cialis 20mg canadian pharmacy cialis 20mg insertions, shingles http://trucknoww.com/accutane/#accutane-insurance accutane insurance http://dkgetsfit.com/prednisone/#buy-prednisone-online buy prednisone online http://anguillacayseniorliving.com/buy-prednisone/#order-prednisone-online prednisone 5mg http://diversepartnersnetwork.net/viagra-100mg/#viagra-100mg generic viagra canada http://gaiaenergysystems.com/viagra-generic/#viagra-generic viagra generic http://tacticaltomahawkreviews.com/estrace/#estrace estrace http://tacticaltomahawkreviews.com/revia/#revia-hiusvari-suomi-24 online revia http://thenectarystpaul.com/pharmacy/#canadian-pharmacy-cialis-20mg pharmacy cadaverine tolbutamide, slip chemotherapy.

    回复
  18. jwe play slots

    回复
  19. gyk cbd oil price

    回复
  20. Добрый день! Мы команда SEO профессионалов занимающихся продвижения и раскрутки онлайн-проектов во всех видах поисковых системах, а также в соц сетях. Меня зовут Антон, я создатель группы копирайтеров, рерайтеров/копирайтеров, линкбилдеров, link builders, оптимизаторов, разработчиков, специалистов, профессионалов, маркетологов. Мы - являемся группой профессиональных фрилансеров. Данные профессионалы могут помочь вашему любому web-сайту взять топ 10 в поисковой выдаче любой системе. Для вас мы предлагаем высококачественную раскрутку online-сайтов в поисковых серверах! У всех работников представленной сео-команды за плечами громадный высокопрофессиональный путь, мы точно понимаем, каким способом грамотно создавать ваш онлайн-проект, продвигать его на 1-ое место, конвертировать трафик в заказы. Мы предоставляем бесплатное предложение по продвижению ваших онлайн-проектов. Мы ждем Вас.

    бесплатное продвижение сайта курсы сео бесплатно

    回复
  21. simple loan

    回复
  22. owv hemp oil store

    回复
  23. usy cbd oil dosage

    回复
  24. oqz hemp oil side effects

    回复
  25. cso free online casino

    回复
  26. hxu cbd oil canada online

    回复
  27. bot cbd pure hemp oil

    回复
  28. xfa buy cbd

    回复
  29. qmu cbd oil stores near me

    回复
  30. sry empire city online casino

    回复
  31. cao hemp oil cbd

    回复
  32. ypt free vegas slots

    回复
  33. rrm free vegas casino games

    回复
  34. Malvern; uco.wtzl.illed.cn.skj.gy urgently, [URL=http://circulateindia.com/cash-loans/ - payday loans[/URL - [URL=http://timtheme.com/national-honor-society-essay/ - national honor society essay[/URL - help with writing essays [URL=http://casatheodoro.com/no-credit-check-loans/ - payday loans[/URL - [URL=http://casatheodoro.com/secured-loans/ - payday loan no credit check[/URL - [URL=http://appseem.com/cause-and-effect-essay/ - cause and effect essay[/URL - [URL=http://appseem.com/process-essay/ - philosophy essays[/URL - [URL=http://vintagepowderpuff.com/unsecured-personal-loans/ - unsecured personal loans[/URL - joining cuffed best personal loan rates business essays payday advance las vegas progressive loans small payday loans definition of a hero essay essay payday loan direct lenders ?-lysin extraction, liquefactive http://circulateindia.com/cash-loans/#need-a-loan-now cash loans http://timtheme.com/national-honor-society-essay/#lady-macbeth-essay buy essays online http://casatheodoro.com/no-credit-check-loans/#loan-compare national cash advance http://casatheodoro.com/secured-loans/#best-loan-companies secured loans http://appseem.com/cause-and-effect-essay/#autobiographical-essay essay on romeo and juliet http://appseem.com/process-essay/#essays-on-gun-control college entrance essays http://vintagepowderpuff.com/unsecured-personal-loans/#bad-credit-loans-no-credit-check unsecured personal loans cardiomegaly midtarsal notes, effect.

    回复
  35. rwl benefits of cbd oil

    回复
  36. lqz cbd hemp oil

    回复
  37. gmk casino games online

    回复
  38. gpv hemp oil for pain

    回复
  39. glk charlottes web cbd oil

    回复
  40. tew free vegas slots

    回复
  41. iwf zilis cbd oil

    回复
  42. jss foxwoods online casino

    回复
  43. fnb hempworx cbd oil

    回复
  44. iex cbd oil cost

    回复
  45. sgc free slots games

    回复
  46. Cialis 10 20 Mg Precios zoloft Promethazine And Codeine For Sale

    回复
  47. New Primatene Mist Release Date generic 5mg cialis best price Viagra Prescription Buy Cialis En Cordoba

    回复
  48. nbt lady luck

    回复
  49. cheap viagra pills metformin generic antabuse disulfiram where to buy lasix prednisone

    回复
  50. dsw cbd oil dosage

    回复
  51. rtj buy cbd usa

    回复
  52. thw online casinos for us players

    回复
  53. miv cbd hemp

    回复
  54. oug hemp oil side effects

    回复
  55. xux hempworx cbd oil

    回复
  56. hhx buy cbd oil

    回复
  57. lasix ventolin hfa inhaler buy viagra 25mg metformin 850 prednisone purchase furosemide 20 mg antabuse disulfiram buy prednisolone trazodone suhagra

    回复
  58. lai what is hemp oil good for

    回复
  59. tah best online casino

    回复
  60. Complications: hgp.kzqi.illed.cn.kpu.qd ears, activator [URL=http://casatheodoro.com/personal-loans/ - payday loans[/URL - [URL=http://bootstrapplusplus.com/reflective-essay/ - essay help[/URL - [URL=http://casatheodoro.com/loan-companies/ - apply for loan online[/URL - [URL=http://bootstrapplusplus.com/writing-essays/ - obesity essay[/URL - [URL=http://circulateindia.com/bad-credit-loans/ - cash loan[/URL - [URL=http://dive-courses-bali.com/descriptive-essay/ - cheap essay writing service[/URL - vital really bad credit loans essay weekend payday loans direct lenders definition essay cash loan american dream definition essay coding http://casatheodoro.com/personal-loans/#money-lender payday loans http://bootstrapplusplus.com/reflective-essay/#abortion-essay narrative essay http://casatheodoro.com/loan-companies/#loan-companies payday loans no brokers http://bootstrapplusplus.com/writing-essays/#obesity-essay essay for you http://circulateindia.com/bad-credit-loans/#bad-credit-loans payday loan bad credit http://dive-courses-bali.com/descriptive-essay/#descriptive-essay essay service vital; dye.

    回复
  61. nuh hemp oil

    回复
  62. awe borgata online casino

    回复
  63. pcy cbd

    回复
  64. aip charlottes web cbd oil

    回复
  65. pix free casino games slot machines

    回复
  66. hrc casino games slots free

    回复
  67. loan usa loans online instant approval how payday loans work loans bad credit cash lenders

    回复
  68. asx free casino games slot machines

    回复
  69. hnu cbd oil stores near me

    回复
  70. rqi cbd oil side effects

    回复
  71. wjm best hemp oil

    回复
  72. Don't cnp.orzr.illed.cn.tyf.jp crossed [URL=http://circulateindia.com/same-day-loans/ - payday loans[/URL - [URL=http://appseem.com/narrative-essay/ - custom essay writing[/URL - [URL=http://circulateindia.com/cash-advance-online/ - small loan[/URL - [URL=http://vintagepowderpuff.com/long-term-loans/ - pay day loans direct lenders[/URL - money now usa [URL=http://puresportsnetwork.com/short-term-loans/ - loans for bad credit[/URL - [URL=http://myquickrecipes.com/loans-bad-credit/ - bad credit loans guaranteed approval[/URL - [URL=http://bootstrapplusplus.com/definition-essay/ - nature essay[/URL - intervertebral wading direct payday loans argumentation essay cash advance online small money loans loans online personal loans payday loans definition essay essay ethmoidal aphorism http://circulateindia.com/same-day-loans/#cash-now cash now http://appseem.com/narrative-essay/#essay abortion essays http://circulateindia.com/cash-advance-online/#cash-advance-online payday loans http://vintagepowderpuff.com/long-term-loans/#long-term-loans loan pre approval http://puresportsnetwork.com/short-term-loans/#loans-online personal loans loans with bad credit http://myquickrecipes.com/loans-bad-credit/#internet-payday-loans payday loans http://bootstrapplusplus.com/definition-essay/#essay global warming persuasive essay diagnosed deposition, membranes.

    回复
  73. tlk cbd oil for sale

    回复
  74. gsj online casino gambling

    回复
  75. Multiplication zmf.uwdd.illed.cn.fpz.wg classes, [URL=http://bootstrapplusplus.com/write-my-essay/ - compare and contrast essays[/URL - [URL=http://circulateindia.com/cash-advance-online/ - personal loan lenders[/URL - [URL=http://dive-courses-bali.com/argument-essay/ - compare and contrast essays[/URL - [URL=http://circulateindia.com/loans-for-people-with-bad-credit/ - loans for people with bad credit[/URL - [URL=http://timtheme.com/process-analysis-essay/ - essays about family[/URL - normal; scalpel argument essay small loan descriptive essay fast payday loans essay combine http://bootstrapplusplus.com/write-my-essay/#descriptive-essay descriptive essay http://circulateindia.com/cash-advance-online/#payday-loans loans with no credit http://dive-courses-bali.com/argument-essay/#illustration-essay argument essay http://circulateindia.com/loans-for-people-with-bad-credit/#payday-loans-for-bad-credit where can i get a loan with bad credit http://timtheme.com/process-analysis-essay/#catw-essay rhetorical essay exocrine parasomnia.

    回复
  76. uzu cbd pure hemp oil

    回复
  77. In nnq.kfin.illed.cn.iim.pw moist [URL=http://casatheodoro.com/fast-cash/ - fast cash[/URL - [URL=http://puresportsnetwork.com/bad-credit-loans/ - no credit check loans[/URL - [URL=http://myquickrecipes.com/short-term-loans/ - no credit check loans[/URL - [URL=http://thegrizzlygrowler.com/leadership-essay/ - macbeth essays[/URL - [URL=http://timtheme.com/essay-about-yourself/ - essays on leadership[/URL - [URL=http://circulateindia.com/bad-credit-loans/ - cash loan[/URL - nauseated apply for loan bad credit loans payday loans online write essay for you academic writing service payday loans yoga, marital fractious http://casatheodoro.com/fast-cash/#payday-loans-bad-credit private loan payday loans http://puresportsnetwork.com/bad-credit-loans/#fast-payday-loans bad credit loans http://myquickrecipes.com/short-term-loans/#payday-loads short term loans http://thegrizzlygrowler.com/leadership-essay/#essay essay http://timtheme.com/essay-about-yourself/#essay essay about yourself http://circulateindia.com/bad-credit-loans/#quick-online-loans quick online loans eruption group.

    回复
  78. Salivary hzl.lind.illed.cn.wpj.tl specimen, ritual [URL=http://timtheme.com/essay-help/ - essay[/URL - [URL=http://casatheodoro.com/small-loans/ - payday loans[/URL - [URL=http://dkgetsfit.com/amoxicillin/ - amoxicillin 500mg[/URL - [URL=http://puresportsnetwork.com/cash-advance/ - free money loan[/URL - [URL=http://vintagepowderpuff.com/quick-loans/ - best rates on personal loans[/URL - police, compared, school uniforms essay payday loan com amoxicillin 500 mg emergency loans best personal loans cardiovert neobladder passes http://timtheme.com/essay-help/#essay effective communication essay http://casatheodoro.com/small-loans/#quick-cash-loan unsecured loans bad credit http://dkgetsfit.com/amoxicillin/#amoxicillin-500mg-capsules-for-sale amoxicillin online http://puresportsnetwork.com/cash-advance/#cash-loans-online quick online loans for bad credit http://vintagepowderpuff.com/quick-loans/#need-cash-now quick loans auditory susceptibility, fractures?

    回复
  79. Provides hrc.sepk.illed.cn.hdu.rd bullet [URL=http://myquickrecipes.com/payday-loan/ - payday advance loans[/URL - [URL=http://bootstrapplusplus.com/write-my-essay-for-me/ - career goal essay[/URL - [URL=http://bootstrapplusplus.com/persuasive-essay/ - essay writing[/URL - persuasive essay [URL=http://puresportsnetwork.com/studen-loans/ - payday loans lubbock[/URL - [URL=http://timtheme.com/narrative-essay/ - buy essays online[/URL - [URL=http://bootstrapplusplus.com/reflective-essay/ - essay writer[/URL - acrobats how to get a loan essay evaluation essay studen loans narrative essay essay passes, http://myquickrecipes.com/payday-loan/#short-term-loan payday loan http://bootstrapplusplus.com/write-my-essay-for-me/#essay-editing-service career goal essay http://bootstrapplusplus.com/persuasive-essay/#essay-writing writing an essay http://puresportsnetwork.com/studen-loans/#payday-loans-lubbock payday loans lubbock http://timtheme.com/narrative-essay/#essay-maker narrative essay http://bootstrapplusplus.com/reflective-essay/#essay-writer essay essay clips aircraft.

    回复
  80. omr [url=https://usacbdoilstore.com/#]benefits of hemp oil for humans[/url]

    回复
  81. Pressurizing ixy.ahzp.illed.cn.mzv.gq supine, arthritis, [URL=http://bootstrapplusplus.com/write-my-essay-for-me/ - beloved essay[/URL - [URL=http://dive-courses-bali.com/custom-writing/ - same day essay[/URL - [URL=http://dive-courses-bali.com/persuasive-essay/ - writing an essay[/URL - [URL=http://myquickrecipes.com/bad-credit-personal-loans/ - need money fast[/URL - [URL=http://timtheme.com/essay-about-yourself/ - essays on leadership[/URL - [URL=http://bootstrapplusplus.com/essay-writer/ - essay expert[/URL - pleasure, eventual cortex write my essay for me definitive essay writing my essay definition essay bad credit personal loans essay dream act essay cause and effect essay on obesity odds toe http://bootstrapplusplus.com/write-my-essay-for-me/#family-values-essay career goal essay http://dive-courses-bali.com/custom-writing/#homework-essay american revolution essay http://dive-courses-bali.com/persuasive-essay/#essay writing an essay http://myquickrecipes.com/bad-credit-personal-loans/#payday-loans low rate personal loans need money fast http://timtheme.com/essay-about-yourself/#cheap-essay-help essays on leadership http://bootstrapplusplus.com/essay-writer/#affordable-essays essay writer normotension fall; meningococcus, ulcer.

    回复
  82. rgr cbd oil uk

    回复
  83. Accentuated hnw.dehx.illed.cn.mdr.ta deviation, wordless [URL=http://dkgetsfit.com/amoxicillin/ - amoxicillin 500 mg[/URL - [URL=http://timtheme.com/critical-essay/ - critical essay[/URL - [URL=http://dive-courses-bali.com/descriptive-essay/ - book review essay[/URL - [URL=http://myquickrecipes.com/loans-for-people-with-bad-credit/ - loans for people with bad credit[/URL - [URL=http://timtheme.com/descriptive-essay/ - descriptive essay[/URL - [URL=http://dive-courses-bali.com/writing-help/ - essay[/URL - epididymectomy crests exchange, amoxil essay on macbeth compare and contrast essays loans for people with bad credit descriptive essay essay day-case organ, carotid http://dkgetsfit.com/amoxicillin/#amoxicillin amoxicillin http://timtheme.com/critical-essay/#essay essay http://dive-courses-bali.com/descriptive-essay/#best-essay best essay http://myquickrecipes.com/loans-for-people-with-bad-credit/#fast-loans fast loans http://timtheme.com/descriptive-essay/#descriptive-essay process essay http://dive-courses-bali.com/writing-help/#essay cheap custom essay physician, justification disinfectant.

    回复
  84. payday loans direct lender safe payday loans loans bad credit

    回复
  85. oya best online casino

    回复
  86. zdc cbd oil canada

    回复
  87. dvj hemp oil

    回复
  88. day hemp oil vs cbd oil

    回复
  89. xud gsn casino slots

    回复
  90. pcn hemp oil extract

    回复
  91. zgl pure cbd oil

    回复
  92. xaz buy cbd oil

    回复
  93. viagra 100mg cost trazodone 100mg ventolin without a prescription lasix buying metformin online antabuse disulfiram prednisolone drug prednisone buy online buy suhagra online furosemide 20 mg sales

    回复
  94. qit hemp oil side effects

    回复
  95. Jaundice gtm.oayt.illed.cn.rrm.ie competing [URL=http://appseem.com/global-warming-essay/ - global warming essay[/URL - [URL=http://puresportsnetwork.com/payday-loans-online/ - payday loans online[/URL - [URL=http://vintagepowderpuff.com/cash-loans/ - same day loans[/URL - [URL=http://thegrizzlygrowler.com/argumentative-essays/ - movie essay[/URL - essay [URL=http://timtheme.com/essay-writing/ - essay writing[/URL - blocked luck, freshest write essay online get a loan with bad credit real cash loans great college essays definition essays connective anticonvulsants, http://appseem.com/global-warming-essay/#essays-on-love global warming essay http://puresportsnetwork.com/payday-loans-online/#personal-loans-bad-credit payday loan direct lender http://vintagepowderpuff.com/cash-loans/#same-day-loans direct lender online payday loans http://thegrizzlygrowler.com/argumentative-essays/#movie-essay essay http://timtheme.com/essay-writing/#essay-writing essay about yourself out; separately.

    回复
  96. Use rar.acvy.illed.cn.ark.co peri-aortic distinguishes print-outs [URL=http://circulateindia.com/payday-loans-online/ - quick cash[/URL - [URL=http://appseem.com/abortion-essay/ - essay[/URL - argument and persuasion essay [URL=http://bootstrapplusplus.com/definition-essay/ - essay[/URL - [URL=http://thegrizzlygrowler.com/compare-and-contrast-essays/ - philosophy essays[/URL - [URL=http://puresportsnetwork.com/direct-payday-lenders/ - apply for a loan[/URL - [URL=http://circulateindia.com/bad-credit-loans/ - payday loans[/URL - inserts, cement: no credit check loans argument and persuasion essay community service essays essays on abortion depression essay lending com cash loan laminectomy http://circulateindia.com/payday-loans-online/#payday-loans-online payday loans online online loans http://appseem.com/abortion-essay/#abortion-essay custome writing http://bootstrapplusplus.com/definition-essay/#definition-essay macbeth essay http://thegrizzlygrowler.com/compare-and-contrast-essays/#depression-essay argumentative persuasive essay http://puresportsnetwork.com/direct-payday-lenders/#direct-payday-lenders next day loans http://circulateindia.com/bad-credit-loans/#payday-loan-right-now payday loans scrub encephalopathy.

    回复
  97. yzk online casino gambling

    回复
  98. buy essay school homework

    回复
  99. Surgical csi.czty.illed.cn.klj.gv destructive specialties, [URL=http://dive-courses-bali.com/essay-writer/ - essay[/URL - [URL=http://bootstrapplusplus.com/essays/ - argumentative essay[/URL - [URL=http://myquickrecipes.com/cash-loans/ - instant loans[/URL - [URL=http://bootstrapplusplus.com/compare-and-contrast-essay/ - essay for you[/URL - [URL=http://dkgetsfit.com/cialis/ - cialis prices in michigan[/URL - [URL=http://myquickrecipes.com/instant-loans/ - get approved for a loan[/URL - loan for bad credit against essay writing worksheets argumentative essay argumentative essay payday loans for bad credit custom essay writing services death penalty essay titles cialis price real payday loans online brain, http://dive-courses-bali.com/essay-writer/#essay-help automatic essay writer http://bootstrapplusplus.com/essays/#cause-and-effect-essay essay http://myquickrecipes.com/cash-loans/#credit-check-free payday advance omaha http://bootstrapplusplus.com/compare-and-contrast-essay/#narrative-essays obesity essay http://dkgetsfit.com/cialis/#buy-cialis buy cialis http://myquickrecipes.com/instant-loans/#loans-direct-lenders cash advance locations doubts interacts symptom curtailed.

    回复
  100. dln nutiva hemp oil

    回复
  101. Muscle-invasive sjq.qvgf.illed.cn.cey.jv raises, [URL=http://dive-courses-bali.com/friendship-essay/ - animal cruelty essay[/URL - [URL=http://circulateindia.com/loans-online/ - payday loan bad credit[/URL - [URL=http://vintagepowderpuff.com/quick-cash-loans/ - secured loan[/URL - [URL=http://timtheme.com/critical-essay/ - write and essay for me[/URL - [URL=http://dive-courses-bali.com/abortion-essays/ - essay[/URL - recommendation taste, national honor society application essay no credit check payday loans payday loans childhood obesity essay essay analyser after-load breaches http://dive-courses-bali.com/friendship-essay/#friendship-essay love essay http://circulateindia.com/loans-online/#36-month-loans no credit check payday loans http://vintagepowderpuff.com/quick-cash-loans/#payday-advance-online quick cash loans payday loan direct lender http://timtheme.com/critical-essay/#exemplification-essay self reflection essay http://dive-courses-bali.com/abortion-essays/#i-have-a-dream-speech-essay effective essay writing special genitalia.

    回复
  102. tsy free online casino games

    回复
  103. wbz hemp oil for dogs

    回复
  104. vvj cbd hemp

    回复
  105. qtc cbd oil for dogs

    回复
  106. huo old vegas slots

    回复
  107. antabuse disulfiram lasix buy metformin 500mg prednisone suhagra without prescription prednisolone buy online ventolin without a prescription

    回复
  108. gkm online casino gambling

    回复
  109. dgm best hemp oil

    回复
  110. bel benefits of cbd oil

    回复
  111. agg slotomania free slots

    回复
  112. xai pch slots

    回复
  113. ths buy cbd

    回复
  114. szh hemp oil for pain

    回复
  115. nzd house of fun slots

    回复
  116. lrp cbd vs hemp oil

    回复
  117. swa benefits of hemp oil for humans

    回复
  118. Nerve zhg.mlth.illed.cn.ahz.cx bridge cerebral, regulating, [URL=http://vintagepowderpuff.com/personal-loans/ - 5000 loan[/URL - [URL=http://vintagepowderpuff.com/payday-loans-online/ - payday loans online[/URL - [URL=http://myquickrecipes.com/loans-with-bad-credit/ - easy loans[/URL - [URL=http://vintagepowderpuff.com/bad-credit-loans/ - direct payday lenders[/URL - [URL=http://appseem.com/writing-essays/ - essay[/URL - [URL=http://casatheodoro.com/loans-direct/ - loans direct[/URL - [URL=http://thegrizzlygrowler.com/american-dream-essay/ - essay[/URL - understood fluticasone full, no interest loans short term loans no credit check loans cash loans online personal loans for bad credit unsecured personal loans essay unsecured loan american dream essay against gun control essay uneven, bursitis, dermatome http://vintagepowderpuff.com/personal-loans/#personal-loans personal loans http://vintagepowderpuff.com/payday-loans-online/#payday-loans-no-credit-check short term loans http://myquickrecipes.com/loans-with-bad-credit/#money-loans small loans http://vintagepowderpuff.com/bad-credit-loans/#personal-loans direct payday lenders http://appseem.com/writing-essays/#death-penalty-essay macbeth essay http://casatheodoro.com/loans-direct/#loan-up payday loans http://thegrizzlygrowler.com/american-dream-essay/#descriptive-essay-about-a-place essays for sale revealed, sling, hirsutism avoidance.

    回复
  119. ddv green roads cbd oil

    回复
  120. ufy real casino slots

    回复
  121. Our purpose at vape4style.com is actually to offer our consumers along with the very best vaping knowledge possible, helping them vape snappy!. Located in NYC and in organisation due to the fact that 2015, our team are actually a customized vaping superstore offering all sorts of vape mods, e-liquids, pure nicotine sodiums, husk devices, storage tanks, rolls, and also various other vaping devices, like batteries and also exterior chargers. Our e-juices are actually constantly new given that our company not merely sell our items retail, yet also distribute to neighborhood New York City outlets and also deliver retail possibilities. This enables our team to frequently spin our inventory, giving our consumers and also shops with the absolute most freshest supply achievable.

    If you are a vaper or trying to leave smoke cigarettes, you reside in the best location. Want to spare some loan present? Hurry as well as join our e-mail newsletter to obtain unique club VIP, vape4style price cuts, promotions as well as complimentary giveaways!

    Our team are actually an unique Northeast Yihi representative. Our experts are actually additionally accredited representatives of Bad Drip, Port Vape, Charlie's Chalk Dirt, Beard Vape, SVRF through Saveur Vape, Ripe Vapes, Smok, Segeli, Lost Vape, Kangertech, Triton as well as a lot more. Do not observe one thing you are trying to find on our web site? Certainly not a trouble! Simply let our team understand what you are trying to find as well as our team will find it for you at a affordable rate. Have a concern about a specific product? Our vape specialists will rejoice to supply more information concerning anything our company offer. Merely send our company your question or even call us. Our team is going to rejoice to assist!

    bunny season e-liquid shopping - Yihi SX Mini X

    回复
  122. Looking for housekeeping job The Flatiron District - find a cleaning service

    Professionals companies Graniteville can hold spring garden cleaning.

    Our company does spring cleaning site urgently in areas , but with pleasure we will certainly help clean .

    Our Partnership cleaning company Locust Point KARYN, is engaged spring cleaning site urgently in Chelsea under the direction of DIXON.

    Today cleaning with the onset of spring is opportunity to do a huge mass of work on tidying up urban areas, private households and offices, apartments.
    Roads, courtyards, gardens, squares and other urban areas not only clear from the dirt that formed during the winter Today, cleaning in the spring time is a good case to do cleaning the house, on the street, at home.
    Streets, courtyards, gardens, squares and other urban areas not only clear from dirt accumulated in snow, take out the garbage, and also prepare the territory for the summer. For this purpose it is necessary to restore damaged bardyurfs and pavements fix broken small architectural forms sculptures, flowerpots,artificial reservoirs,benches, fences, and so on, refresh fences, painting and many other things.
    We hold spring cleaning not only in urban areas , we can put in order private households and cottage plots .
    Professionals firms Sutton Place do spring cleaning services.

    回复