/controller/account/plan_switch.php
PHP | 38 lines | 34 code | 3 blank | 1 comment | 2 complexity | 71a7cd9d80ce90cafd0587023068974c MD5 | raw file
- <?php
- require_once(dirname(dirname(dirname(__FILE__))).'/config.php');
- require_once(dirname(dirname(dirname(__FILE__))).'/User.php');
- $user = User::require_login();
- $account = Account::getCurrentAccount($user);
- $data = explode('.',$_REQUEST['plan']);
- if(!isset($data[1]))
- $data[1] = NULL;
- session_start();
- try {
- # Check if plan and schedule exists
- if(!($plan = Plan::getPlan($data[0])))
- throw new Exception("Unknown plan '".$data[0].'"');
-
- if(!is_null($data[1]) && !($schedule = $plan->getPaymentSchedule($data[1])))
- throw new Exception("Unknown schedule '".$data[1]."' for plan '".$data[0]."'");
- } catch (Exception $e) {
- $_SESSION['message'][] = $e->getMessage();
- header('Location: '.$_SERVER['HTTP_REFERER']);
- exit;
- }
- if($account->getPlanID() != $data[0]) {
- if($account->activatePlan($data[0],$data[1]))
- $_SESSION['message'][] = "Plan activated";
- else
- $_SESSION['message'][] = "Error activating plan";
- } elseif(!is_null($data[1]) && $account->getScheduleID() != $data[1]) {
- if($account->setPaymentSchedule($data[1]))
- $_SESSION['message'][] = "Payment schedule changed";
- else
- $_SESSION['message'][] = "Error changing schedule";
- }
- header('Location: '.$_SERVER['HTTP_REFERER']);