you would need to have a column in the user table for account type, lets say for example we name it regType and that we use 1 as the value for a trial account and 2 for the value of a regular account.
you would also need a column for registration date, set the data type for the regDate column to timestamp and the default value of the regDate column to "CURRENT_TIMESTAMP" this will store the current date in that column when a user registers
On the login page, edit the authenticate user behavior, on the Sessions tab, set the regDate and regType columns to store in session variables.
you can then create an authenticate user rule as:
Allow If
Value: click the lightning bolt icon and select the regType session variable
Criteria: =
Compare to: 2
Restrict IF
value:
<?php echo (date("Y-m-d")); ?>
Criteria: >
Compare to:
<?php echo (date("Y-m-d", mktime(0, 0, 0, date("m", strtotime($_SESSION['regDate'])),date("d", strtotime($_SESSION['regDate'])) + 30,date("Y", strtotime($_SESSION['regDate']))))); ?>
This rule will allow access if the account type is 2 (we use that for the regular user account). if the account type is 1 (a trial account), it will restrict access if the regDate session + 30 days is greater than the current date.