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&amp;block=1");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://ads.slwifi.com/www/delivery/ck.php?n=a71febe5&amp;cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://ads.slwifi.com/www/delivery/avw.php?zoneid=40&amp;n=a71febe5' border='0' alt='' /></a></noscri...
&nbsp;&nbsp;
<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&amp;block=1");
   document.write ('&amp;cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://ads.slwifi.com/www/delivery/ck.php?n=a71febe5&amp;cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://ads.slwifi.com/www/delivery/avw.php?zoneid=40&amp;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 )