This is possible with a bit of configuration.
You will first need to set up two provisioning workflows: one for sponsored access, and a second for the self registration. (These use different settings for each, and so they should be separate instances.)
Once you have these working, you can create a landing page which will redirect to the appropriate page based on the time of day.
This landing page should be configured as the captive portal in your SSID settings.
To create the landing page, start by creating a new Web Login page and apply the following settings:
- [x] Provide a custom login form
- In the Header HTML, put something like the following:
{* Work out where to go based on time of day: *}
{assign var=_now value="Hi"|date}
{if $_now >= 730 && $_now < 1500}
{assign var=_redirect value=SPONSORED_ACCESS_PAGE_NAME}
{else}
{assign var=_redirect value=SELF_REGISTRATION_PAGE_NAME}
{/if}
{* Generate the redirection here *}
<meta http-equiv="Refresh" content="0;URL={$_redirect|rawurlencode}.php{if $smarty.server.QUERY_STRING}?{$smarty.server.QUERY_STRING|rawurlencode}{/if}"/>
Update the page names accordingly, and you should be set.
You can adjust the (24-hour) times by changing the if statement.
Note also that the query string is passed through to the target and is encoded to prevent XSS problems.