Changeset 1387

Show
Ignore:
Timestamp:
01/19/09 19:09:17 (14 months ago)
Author:
mpaschal
Message:

Apply necessary javascript to appropriate pages
Fix CommentAuthorLink tag to actually replace the default one

Location:
trunk/FacebookCommenters/plugins/FacebookCommenters
Files:
4 added
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/FacebookCommenters/plugins/FacebookCommenters/plugin.pl

    r1385 r1387  
    9797                    <input type="hidden" name="blog_id"  value="<mt:var name="blog_id">"> 
    9898                    <input type="hidden" name="entry_id" value="<mt:var name="entry_id">"> 
     99                    <mt:if name="return_url"> 
     100                    <input type="hidden" name="return_url" value="<mt:var name="return_url" escape="html">"> 
     101                    <mt:else> 
    99102                    <input type="hidden" name="static"   value="<mt:var name="static" escape="html">"> 
     103                    </mt:if> 
    100104                    <input type="hidden" name="key"      value="Facebook"> 
    101105                    <input type="hidden" name="facebook_id"   id="facebook-signin-id-input"> 
     
    109113                    $params->{fb_api_key} = $instance->get_config_value('facebook_app_key', "blog:$blog_id"); 
    110114                    $params->{facebook_connect_server} = $CONNECT_SERVER; 
     115 
     116                    my $return_url = MT->instance->param('return_url'); 
     117                    $params->{return_url} = $return_url if $return_url; 
     118 
    111119                    return $params; 
    112120                }, 
    113121            }, 
    114122        }, 
     123        tags => { 
     124            function => { 
     125                GreetFacebookCommenters => '$FacebookCommenters::FacebookCommenters::Plugin::tag_greet', 
     126            }, 
     127        }, 
    115128    }); 
    116129 
    117     my $old_comment_author_link = \&MT::Template::ContextHandlers::_hdlr_comment_author_link; 
     130    require MT::Template::ContextHandlers; 
     131    my $old_comment_author_link = \&MT::Template::Context::_hdlr_comment_author_link; 
    118132    my $new_comment_author_link = sub { 
    119133        my ($ctx, $args) = @_; 
    120134        my $link = $old_comment_author_link->(@_); 
    121135         
    122         my $commenter = $ctx->stash('commenter') 
    123             or return $link; 
     136        my $commenter = $ctx->stash('commenter'); 
     137        if (!$commenter) { 
     138            return $link; 
     139        } 
    124140        my $auth_type = $commenter->auth_type || q{}; 
    125         return $link 
    126             if $auth_type ne 'Facebook'; 
     141        if ($auth_type ne 'Facebook') { 
     142            return $link; 
     143        } 
    127144 
    128145        my $id = $commenter->name; 
     
    131148 
    132149    no warnings 'redefine'; 
    133     local *MT::Template::ContextHandlers::_hdlr_comment_author_link = $new_comment_author_link; 
     150    *MT::Template::Context::_hdlr_comment_author_link = $new_comment_author_link; 
     151} 
     152 
     153sub tag_greet { 
     154    my ($ctx, $args) = @_; 
     155 
     156    my $blog    = $ctx->stash('blog'); 
     157    my $blog_id = $blog->id; 
     158    my $app_key = $instance->get_config_value('facebook_app_key', "blog:$blog_id"); 
     159 
     160    my $tmpl = $instance->load_tmpl('greets.tmpl'); 
     161    local $ctx->{__stash}{vars}{fb_api_key} = $app_key; 
     162    local $ctx->{__stash}{vars}{facebook_connect_server} = $CONNECT_SERVER; 
     163    return $tmpl->build($ctx); 
    134164} 
    135165 
    1361661; 
     167