# -*- mode: perl; coding: utf-8 -*-
# keitairc/lib/plugins/10url
# URL処理
# $Id: 10url,v 1.10 2008-12-31 13:59:52 morimoto Exp $
# $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/plugins/10url,v $

# The line number (1 incremented) and filename below must be
# actual. see perlsyn.
# line 10 "keitairc/lib/plugins/10url"

$plugin = {
	name => 'url',

	message_replace_regexp => '\b(https?://[/!-;=-\177]+|www\.[/!-\177]+)',
	message_replace_imprementation => sub {
		my ($session_id, $param) = @_;
		if($param =~ m/^http/){
			return sprintf('<a target="_self" class="inline" href="%s%s/url/%s">%s</a>',
				       $::cf->web_root(),
				       $session_id, $param, $param);
		}
		return sprintf('<a target="_self" class="inline" href="%s%s/url/http://%s">%s</a>',
			       $::cf->web_root(),
			       $session_id, $param, $param);
	},

	action_imprementation => sub {
		my ($request, $name, $session_id, $param) = @_;
		my $ci = new Keitairc::ClientInfo($request);
		my $view = new Keitairc::View($::cf, $ci);
		return $view->render('url.html', {
			url => $param,
			session_id => $session_id,
			escaped_url => URI::Escape::uri_escape($param),
			     });
	}
};

1;
