= 3.3 ) { add_action( "load-$rcp_discounts_page", "rcp_help_tabs" ); add_action( "load-$rcp_reports_page", "rcp_help_tabs" ); } add_action( "load-$rcp_discounts_page", "rcp_screen_options" ); add_action( "load-$rcp_reports_page", "rcp_screen_options" ); } add_action( 'admin_menu', 'include_pro_pages', 11, 2 ); /** * Add the fields to set the max_connections_per_member to the misc_settings * * @since 3.6 */ function rcp_add_max_connections_per_member() { global $rcp_options; ?>

Enter 0 to allow unlimited simultaneous connections.', 'rcp' ); ?>

array( 'label' => __( 'Manual Payment', 'rcp' ), 'admin_label' => __( 'Manual Payment', 'rcp' ), 'class' => 'RCP_Payment_Gateway_Manual' ), 'paypal' => array( 'label' => __( 'PayPal', 'rcp' ), 'admin_label' => __( 'PayPal Standard', 'rcp' ), 'class' => 'RCP_Payment_Gateway_PayPal' ), 'paypal_express' => array( 'label' => __( 'PayPal', 'rcp' ), 'admin_label' => __( 'PayPal Express', 'rcp' ), 'class' => 'RCP_Payment_Gateway_PayPal_Express' ), 'paypal_pro' => array( 'label' => __( 'Credit / Debit Card', 'rcp' ), 'admin_label' => __( 'PayPal Pro', 'rcp' ), 'class' => 'RCP_Payment_Gateway_PayPal_Pro', 'test_card' => array( 'number' => '4111111111111111', 'cvc' => '123', 'link' => 'https://developer.paypal.com/docs/classic/payflow/payflow-pro/payflow-pro-testing/#credit-card-numbers-for-testing' ) ), 'stripe' => array( 'label' => __( 'Credit / Debit Card', 'rcp' ), 'admin_label' => __( 'Stripe', 'rcp' ), 'class' => 'RCP_Payment_Gateway_Stripe', 'test_card' => array( 'number' => '4242424242424242', 'cvc' => '123', 'zip' => '45814', 'link' => 'https://stripe.com/docs/testing#cards' ) ), 'twocheckout' => array( 'label' => __( 'Credit / Debit Card', 'rcp' ), 'admin_label' => __( '2Checkout', 'rcp' ), 'class' => 'RCP_Payment_Gateway_2Checkout', 'test_card' => array( 'number' => '4000000000000002', 'cvc' => '123', 'link' => 'https://knowledgecenter.2checkout.com/Documentation/09Test_ordering_system/01Test_payment_methods#Test_cards' ) ), 'braintree' => array( 'label' => __( 'Credit / Debit Card', 'rcp' ), 'admin_label' => __( 'Braintree', 'rcp' ), 'class' => 'RCP_Payment_Gateway_Braintree', 'test_card' => array( 'number' => '4111111111111111', 'cvc' => '123', 'link' => 'https://developers.braintreepayments.com/reference/general/testing/php#valid-card-numbers' ) ) ); return array_merge( $gateways, $pro_gateways ); } add_filter( 'rcp_payment_gateways', 'rcp_get_pro_payment_gateways' ); function rcp_add_payment_gateway_configuration_fields( $rcp_options ) { ?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Settings > Emails * * @since 3.6 */ function rcp_emails_tab_add_new_user_notifications() { global $rcp_options; ?> get_notice_types(); foreach ( $reminder_types as $type => $name ) { $notices = $rcpReminders->get_notices( $type ); foreach ( $notices as $notice_id => $notice ) { $levels = ! empty( $notice['levels'] ) && is_array( $notice['levels'] ) ? $notice['levels'] : 'all'; $levels_log = is_array( $levels ) ? implode( ', ', $levels ) : $levels; rcp_log( sprintf( 'Processing %s reminder. ID: %d; Period: %s; Levels: %s.', $type, $notice_id, $notice['send_period'], $levels_log ) ); // Skip if this reminder isn't enabled. if ( empty( $notice['enabled'] ) ) { rcp_log( 'Reminder is not enabled - exiting.' ); continue; } // Skip if subject or message isn't filled out. if ( empty( $notice['subject'] ) || empty( $notice['message'] ) ) { rcp_log( 'Empty subject or message - exiting.' ); continue; } $memberships = $rcpReminders->get_reminder_subscriptions( $notice['send_period'], $type, $levels ); if ( ! $memberships ) { rcp_log( 'No memberships found for reminder - exiting.' ); continue; } foreach ( $memberships as $membership ) { rcp_log( sprintf( 'Processing %s reminder for membership #%d.', $type, $membership->get_id() ) ); // Ensure an expiration notice isn't sent to an auto-renew membership. if ( $type == 'expiration' && $membership->is_recurring() && $membership->is_active() ) { rcp_log( sprintf( 'Skipping membership #%d - expiration reminder but membership is recurring and active.', $membership->get_id() ) ); continue; } $user_id = $membership->get_user_id(); $user = get_userdata( $user_id ); $sent_time = rcp_get_membership_meta( $membership->get_id(), '_reminder_sent_' . $notice_id, true ); if ( empty( $sent_time ) ) { // Check deprecated meta. We have two of these... lol. $sent_time = get_user_meta( $user_id, sanitize_key( '_rcp_reminder_sent_' . $membership->get_id() . '_' . $notice_id ), true ); if ( empty( $sent_time ) ) { $sent_time = get_user_meta( $user_id, sanitize_key( '_rcp_reminder_sent_' . $membership->get_object_id() . '_' . $notice_id ), true ); } } if ( $sent_time ) { rcp_log( sprintf( 'Skipping membership #%d - reminder #%d has already been sent.', $membership->get_id(), $notice_id ) ); continue; } $rcp_email->member_id = $user->ID; $rcp_email->membership = $membership; $rcp_email->send( $user->user_email, stripslashes( $notice['subject'] ), $notice['message'] ); $membership->add_note( sprintf( __( '%s notice was emailed to the member - %s.', 'rcp' ), ucwords( $type ), $rcpReminders->get_notice_period_label( $notice_id ) ) ); // Prevents reminder notices from being sent more than once per membership. rcp_update_membership_meta( $membership->get_id(), '_reminder_sent_' . $notice_id, current_time( 'mysql' ) ); } } } } add_action( 'rcp_after_send_reminder_emails', 'rcp_send_reminders', 10, 2 ); /** * Add the input for discount signup fees to settings * * @param $rcp_options * * @since 3.6 */ function rcp_add_discount_signup_fees_to_settings( $rcp_options ) { ?>

the PayPal developer website. For more information, see our documentation article.', 'rcp' ), esc_url( 'https://developer.paypal.com/' ), esc_url( 'http://docs.restrictcontentpro.com/article/1548-setting-up-paypal-sandbox-accounts' ) ); ?>

/>
/>

2Checkout Sandbox.', 'rcp' ); ?>

2Checkout Sandbox.', 'rcp' ); ?>

Where is my Seller ID?.', 'rcp' ); ?>

2Checkout PCI Program.', 'rcp' ); ?>

Where is my Seller ID?.', 'rcp' ); ?>

">

'rcp_settings[verification_email]', 'teeny' => true ) ); ?>

%verificationlink%' ); ?>

'rcp_settings[active_email]', 'teeny' => true ) ); ?>

'rcp_settings[active_email_admin]', 'teeny' => true ) ); ?>

'rcp_settings[free_email]', 'teeny' => true ) ); ?>

'rcp_settings[free_email_admin]', 'teeny' => true ) ); ?>

/>

'rcp_settings[trial_email]', 'teeny' => true ) ); ?>

/>

'rcp_settings[trial_email_admin]', 'teeny' => true ) ); ?>

'rcp_settings[cancelled_email]', 'teeny' => true ) ); ?>

'rcp_settings[cancelled_email_admin]', 'teeny' => true ) ); ?>

'rcp_settings[expired_email]', 'teeny' => true ) ); ?>

'rcp_settings[expired_email_admin]', 'teeny' => true ) ); ?>

do not have auto renew enabled. They can be used to inform customers that their memberships will not be automatically renewed and they will need to do a manual renewal to retain access to their content.', 'rcp' ); ?>

do have auto renew enabled. They can be used to inform customers that their memberships will be automatically renewed and give them a chance to cancel if they do not wish to continue.', 'rcp' ); ?>

'rcp_settings[payment_received_email]', 'teeny' => true ) ); ?>

'rcp_settings[payment_received_email_admin]', 'teeny' => true ) ); ?>

'rcp_settings[renewal_payment_failed_email]', 'teeny' => true ) ); ?>

'rcp_settings[renewal_payment_failed_email_admin]', 'teeny' => true ) ); ?>

/>
/>