App-SilverSplash
view release on metacpan or search on metacpan
htdocs/splash_ads.tmpl view on Meta::CPAN
<script type='text/javascript'><!--//<![CDATA[
var m3_u = (location.protocol=='https:'?'https://ads.slwifi.com/www/delivery/ajs.php':'http://ads.slwifi.com/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=40&block=1");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://ads.slwifi.com/www/delivery/ck.php?n=a71febe5&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://ads.slwifi.com/www/delivery/avw.php?zoneid=40&n=a71febe5' border='0' alt='' /></a></noscri...
<script type='text/javascript'><!--//<![CDATA[
var m3_u = (location.protocol=='https:'?'https://ads.slwifi.com/www/delivery/ajs.php':'http://ads.slwifi.com/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=40&block=1");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://ads.slwifi.com/www/delivery/ck.php?n=a71febe5&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://ads.slwifi.com/www/delivery/avw.php?zoneid=40&n=a71febe5' border='0' alt='' /></a></noscri...
</div>
<div class="clear"></div>
</div>
</div>
</div>
lib/App/SilverSplash.pm view on Meta::CPAN
return unless $fixup;
return $fixup;
}
sub make_post_url {
my ( $class, $splash_url, $dest_url ) = @_;
$dest_url = URI::Escape::uri_escape($dest_url);
my $separator = ($splash_url =~ m/\?/) ? '&' : '?';
my $location = $splash_url . $separator . "url=$dest_url";
return $location;
}
sub mac_from_ip {
my ($class, $ip) = @_;
lib/App/SilverSplash/Apache2.pm view on Meta::CPAN
$r->log->debug("$$ valid mac $mac, redirect to $dest_url") if DEBUG;
$r->headers_out->set( Location => $dest_url );
$r->no_cache(1);
return Apache2::Const::REDIRECT;
}
my %tmpl = (
perlbal => 'http://' . $class->lan_ip . ':' . $Config->sl_perlbal_port,
cdn_host => $Config->sl_cdn_host,
mac => URI::Escape::uri_escape($mac),
url => URI::Escape::uri_escape($dest_url),
cp_mac => URI::Escape::uri_escape( $class->wan_mac ),
provider_href => $Config->sl_account_website,
provider_logo => $Config->sl_account_logo,
);
$r->content_type('text/html; charset=UTF-8');
$r->no_cache(1);
$r->rflush;
my $output;
$Template->process( 'splash.tmpl', \%tmpl, \$output )
lib/App/SilverSplash/Apache2.pm view on Meta::CPAN
my $url = $req->param('url');
# serve the page or process the request
if ( $r->method_number == Apache2::Const::M_GET ) {
my %tmpl = (
perlbal => 'http://'
. $class->lan_ip . ':'
. $Config->sl_perlbal_port,
cdn_host => $Config->sl_cdn_host,
mac => URI::Escape::uri_escape($mac),
url => $url, #URI::Escape::uri_escape($url),
cp_mac => URI::Escape::uri_escape( $class->wan_mac ),
provider_href => $Config->sl_account_website,
provider_logo => $Config->sl_account_logo,
);
my $output;
$Template->process( 'free.tmpl', \%tmpl, \$output )
|| die $Template->error;
$r->content_type('text/html; charset=UTF-8');
$r->no_cache(1);
$r->rflush;
lib/App/SilverSplash/Apache2.pm view on Meta::CPAN
my $added = App::SilverSplash::IPTables->add_to_ads_chain( $mac, $ip );
unless ($added) {
$r->log->error("$$ error adding mac $mac to ads chain: $@");
return Apache2::Const::SERVER_ERROR;
}
my $location =
$class->make_post_url( $Config->sl_splash_href,
URI::Escape::uri_escape($url) );
$r->headers_out->set( Location => $location );
$r->no_cache(1);
return Apache2::Const::REDIRECT;
}
}
sub paid {
my ( $class, $r ) = @_;
lib/App/SilverSplash/Apache2.pm view on Meta::CPAN
),
);
$class->set( "paypal_id|$id" => "$mac|$ip" );
my %tmpl = (
perlbal => 'http://'
. $class->lan_ip . ':'
. $Config->sl_perlbal_port,
cdn_host => $Config->sl_cdn_host,
mac => URI::Escape::uri_escape($mac),
url => $url, #URI::Escape::uri_escape($url),
cp_mac => URI::Escape::uri_escape( $class->wan_mac ),
provider_href => $Config->sl_account_website,
provider_logo => $Config->sl_account_logo,
button => $b,
);
my $output;
$Template->process( 'paid.tmpl', \%tmpl, \$output )
|| die $Template->error;
$r->content_type('text/html; charset=UTF-8');
$r->no_cache(1);
lib/App/SilverSplash/Apache2.pm view on Meta::CPAN
# they clicked yes, authenticate
my $added = App::SilverSplash::IPTables->add_to_paid_chain( $mac, $ip );
unless ($added) {
$r->log->error("$$ error adding mac $mac to paid chain: $@");
return Apache2::Const::SERVER_ERROR;
}
}
$mac = URI::Escape::uri_escape($mac);
$url = URI::Escape::uri_escape($url);
# else we have an authenticated user
my $location = $class->make_post_url( $Config->sl_splash_href, $url );
$r->headers_out->set( Location => $location );
$r->no_cache(1);
return Apache2::Const::REDIRECT;
}
sub make_post_url {
my ( $class, $splash_url, $dest_url ) = @_;
$dest_url = URI::Escape::uri_escape($dest_url);
my $separator = ( $splash_url =~ m/\?/ ) ? '&' : '?';
my $location = $splash_url . $separator . "url=$dest_url";
return $location;
}
1;
__END__
lib/App/SilverSplash/IPTables.pm view on Meta::CPAN
my ( $class, $op, $mac, $ip ) = @_;
iptables(
"-t mangle -$op slOUT -s $ip -m mac --mac-source $mac -j MARK $Mark_op $Paid_mark"
);
iptables("-t mangle -$op slINC -d $ip -j ACCEPT");
}
sub add_to_paid_chain {
my ( $class, $mac, $ip ) = @_;
my $esc_mac = URI::Escape::uri_escape($mac);
# convert minutes to seconds
my $stay = time() + 240 * 60; # 4 hours
$class->set( $mac => "$stay|paid" );
warn("cache set $mac => $stay") if DEBUG;
# add the mac to the paid chain
return $class->_paid_chain( 'A', $mac, $ip );
}
lib/App/SilverSplash/IPTables.pm view on Meta::CPAN
sub check_ads_chain_for_mac {
my ( $class, $mac ) = @_;
return $class->_check_chain_for_mac( $Ads_mark, $mac );
}
sub add_to_ads_chain {
my ( $class, $mac, $ip ) = @_;
my $esc_mac = URI::Escape::uri_escape($mac);
# convert minutes to seconds
my $stay = time() + $Config->sl_visitor_limit * 60;
$class->set( $mac => "$stay|ads" );
warn("cache set $mac => $stay") if DEBUG;
return $class->_ads_chain( 'A', $mac, $ip );
}
sub delete_from_ads_chain {
( run in 0.368 second using v1.01-cache-2.11-cpan-c21f80fb71c )