本文整理汇总了PHP中Subscriber::updateFreePlan方法的典型用法代码示例。如果您正苦于以下问题:PHP Subscriber::updateFreePlan方法的具体用法?PHP Subscriber::updateFreePlan怎么用?PHP Subscriber::updateFreePlan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Subscriber
的用法示例。
在下文中一共展示了Subscriber::updateFreePlan方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postChangeServiceType
public function postChangeServiceType()
{
try {
// pr(Input::all());
$user_id = Input::get('user_id');
$user = Subscriber::findOrFail($user_id);
$disconnect = new stdClass();
$disconnect->set = FALSE;
DB::transaction(function () use($user, $disconnect) {
$plan_type = Input::get('plan_type');
if ($user->plan_type != $plan_type) {
$disconnect->set = TRUE;
}
$user->plan_type = $plan_type;
if (!$user->save()) {
throw new Exception('Failed to change service type.');
}
if ($user->plan_type == ADVANCEPAID_PLAN) {
$billing = BillingCycle::firstOrNew(['user_id' => $user->id]);
$input = Input::all();
$input['expiration'] = date("Y-m-d H:i:s", strtotime($input['expiration']));
$billing->fill($input);
if (!$billing->save()) {
throw new Exception("Failed to save billing cycle details.");
}
// pr($billing->toArray());
}
if ($user->plan_type == FREE_PLAN) {
Subscriber::updateFreePlan($user->id);
}
});
if ($disconnect->set) {
Subscriber::destroyAllSessions($user);
}
$this->notifySuccess("Service Type Updated.");
} catch (Exception $e) {
$this->notifyError($e->getMessage());
return Redirect::route('subscriber.profile', $user_id);
}
return Redirect::route('subscriber.profile', $user_id);
}