mvp
This commit is contained in:
@ -19,6 +19,8 @@ use TheTempusProject\Classes\AdminController;
|
||||
use TheTempusProject\Plugins\Members as MemberModel;
|
||||
use TheTempusProject\Houdini\Classes\Issues;
|
||||
use TheTempusProject\Bedrock\Functions\Input;
|
||||
use TheTempusProject\Hermes\Functions\Route as Routes;
|
||||
use TheTempusProject\Hermes\Functions\Redirect;
|
||||
|
||||
class Members extends AdminController {
|
||||
public function __construct() {
|
||||
@ -28,13 +30,46 @@ class Members extends AdminController {
|
||||
}
|
||||
|
||||
public function index( $data = null ) {
|
||||
self::$title = 'Admin - Membership Scripts';
|
||||
Views::view( 'members.admin.scripts' );
|
||||
}
|
||||
|
||||
public function orphans( $data = null, $id = null ) {
|
||||
self::$title = 'Admin - Orphaned PRoducts';
|
||||
if ( $data = 'abandon' && ! empty( $id ) ) {
|
||||
MemberModel::orphanAbandon( $id );
|
||||
Redirect::to('admin/members/orphans');
|
||||
}
|
||||
$orphans = MemberModel::findOrphans();
|
||||
Views::view( 'members.admin.orphans', $orphans );
|
||||
}
|
||||
|
||||
public function webhooks( $data = null, $id = null ) {
|
||||
self::$title = 'Admin - Membership Webhooks';
|
||||
|
||||
if ( $data = 'delete' && ! empty( $id ) ) {
|
||||
MemberModel::webhookRemove( $id );
|
||||
Redirect::to('admin/members/webhooks');
|
||||
}
|
||||
|
||||
$data = [];
|
||||
$webhooks = MemberModel::webhookList();
|
||||
foreach ($webhooks->data as $key => $webhook) {
|
||||
$hook = new \stdClass;
|
||||
$hook->id = $webhook->id;
|
||||
$hook->enabled_events = implode( ', <br>', $webhook->enabled_events );
|
||||
$hook->status = $webhook->status;
|
||||
$hook->url = $webhook->url;
|
||||
$data[] = $hook;
|
||||
}
|
||||
Components::set( 'urltouse', Routes::getAddress() );
|
||||
|
||||
if ( !Input::exists( 'submit' ) ) {
|
||||
return Views::view( 'members.admin.webhooks' );
|
||||
return Views::view( 'members.admin.webhooks', $data );
|
||||
}
|
||||
MemberModel::webhookSetup();
|
||||
Issues::add( 'success', 'Webhooks Generated' );
|
||||
Issues::add( 'error', 'Now, LEAVE!' );
|
||||
Redirect::to('admin/members/webhooks');
|
||||
}
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ class Member extends Controller {
|
||||
}
|
||||
try {
|
||||
$session = self::$stripe->billingPortal->sessions->create([
|
||||
'customer' => $customer,
|
||||
'customer' => $customer->stripe_customer,
|
||||
'return_url' => Routes::getAddress() . 'member/manage',
|
||||
]);
|
||||
} catch (\Stripe\Exception\InvalidRequestException $e) {
|
||||
@ -174,7 +174,7 @@ class Member extends Controller {
|
||||
Session::flash( 'success', 'We aren\'t currently accepting new members, please check back soon!' );
|
||||
return Redirect::home();
|
||||
}
|
||||
Views::view( 'members.landing1', $product );
|
||||
Views::view( 'members.landing', $product );
|
||||
}
|
||||
|
||||
public function checkout( $plan = 'monthly' ) {
|
||||
@ -187,6 +187,19 @@ class Member extends Controller {
|
||||
Issues::add( 'error', 'no customer' );
|
||||
return $this->index();
|
||||
}
|
||||
|
||||
$plan = strtolower( $plan );
|
||||
if ( ! in_array( $plan, ['monthly','yearly','upgrade'] ) ) {
|
||||
Session::flash( 'error', 'Unknown plan' );
|
||||
return Redirect::to( 'home/index' );
|
||||
}
|
||||
if ( $plan === 'upgrade' ) {
|
||||
$plan = 'yearly';
|
||||
$successUrl = Routes::getAddress() . 'member/payment/upgrade?session_id={CHECKOUT_SESSION_ID}';
|
||||
} else {
|
||||
$successUrl = Routes::getAddress() . 'member/payment/complete?session_id={CHECKOUT_SESSION_ID}';
|
||||
}
|
||||
|
||||
$stripePrice = $this->findPrice( $plan );
|
||||
|
||||
$session = self::$stripe->checkout->sessions->create([
|
||||
@ -197,7 +210,7 @@ class Member extends Controller {
|
||||
'quantity' => 1,
|
||||
]],
|
||||
'mode' => 'subscription',
|
||||
'success_url' => Routes::getAddress() . 'member/payment/complete?session_id={CHECKOUT_SESSION_ID}',
|
||||
'success_url' => $successUrl,
|
||||
'cancel_url' => Routes::getAddress() . 'member/payment/cancel',
|
||||
]);
|
||||
header('Location: ' . $session->url);
|
||||
@ -206,7 +219,7 @@ class Member extends Controller {
|
||||
|
||||
public function payment( $type = '' ) {
|
||||
$type = strtolower( $type );
|
||||
if ( ! in_array( $type, ['cancel','complete'] ) ) {
|
||||
if ( ! in_array( $type, ['cancel','complete','upgrade'] ) ) {
|
||||
Session::flash( 'error', 'Unknown Payment' );
|
||||
return Redirect::to( 'home/index' );
|
||||
}
|
||||
@ -216,6 +229,11 @@ class Member extends Controller {
|
||||
return Views::view( 'members.paymentcanceled' );
|
||||
}
|
||||
|
||||
if ( $type == 'upgrade' ) {
|
||||
self::$title = 'Better Members Area';
|
||||
return Views::view( 'members.upgradeCompleted' );
|
||||
}
|
||||
|
||||
self::$title = '(almost) Members Area';
|
||||
Views::view( 'members.paymentcomplete' );
|
||||
}
|
||||
|
Reference in New Issue
Block a user