Ejemplo n.º 1
0
	/**
	 * Shows an unsubscription confirmation form (frontend)
	 *
	 * @param UserTable     $user
	 * @param string        $introText
	 * @param int           $planId
	 * @param int           $subscriptionId
	 * @return string|null
	 */
	public function showUnsubscribeForm( &$user, $introText, $planId, $subscriptionId ) {
		global $_CB_database, $_CB_framework;

		$ui				=	$_CB_framework->getUi();
		// get the most recent payment basket for that user and plan, and with that subscription if $subscriptionId != null:
		$subscription		=	new cbpaidUsersubscriptionRecord( $_CB_database );
		$subscriptionLoaded	=	$subscription->load( (int) $subscriptionId );
		if ( $subscriptionLoaded && ( $subscription->user_id == $user->id ) ) {
			$base_url = $this->getHttpsAbsURLwithParam( array( 'Itemid' => 0, 'user' => $user->id ), 'pluginclass' );
			$return  = '<form method="post" class="cbregUnsubscribeForm" action="'.$base_url.'">';
			$return	.=	'<div id="cbregUnsubIntro">' . $introText . '</div>';
			$return .= '<input type="hidden" name="user" value="'.$user->id.'" />';
			$return .= '<input type="hidden" name="'.$this->_getPagingParamName("subscription[]").'" value="' . (int) $subscriptionId . '" />';
			$return .= '<input type="hidden" name="'.$this->_getPagingParamName("plan[]").'" value="' . (int) $planId . '" />';
			$return .= '<input type="hidden" name="'.$this->_getPagingParamName("act").'" value="confirm_unsub" />';
			$return .= $this->_drawActionButton( $user, $ui, $subscription, $subscription->plan_id, CBPTXT::T("Yes: Unsubscribe"), 'confirm_unsubscribe', CBPTXT::T("This unsubscription is with immediate effect, without refund, and cannot be undone. Are you sure ?") );
			$return .= $this->_drawActionButton( $user, $ui, $subscription, $subscription->plan_id, CBPTXT::T("No: Stay subscribed"), 'display_subscriptions' );
			$return .= cbGetSpoofInputTag( 'plugin' );
			$return .= '</form>';
		} else {
			$params	=&	cbpaidApp::settingsParams();
			$subTxt	=	CBPTXT::T( $params->get( 'subscription_name', 'subscription' ) );
			$this->_setErrorMSG( sprintf( CBPTXT::T("No %s found"), $subTxt ) );
			$return	=	null;
		}
		return $return;
	}