Community Support Forums — WordPress® ( Users Helping Users ) — 2011-12-20T09:52:35-05:00 http://www.primothemes.com/forums/feed.php?f=40&t=13316 2011-12-20T09:52:35-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=58081#p58081 <![CDATA[s2Member v111220 / Source Code: s2member-p...]]>
s2Member v111220
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: December 20, 2011, 9:52 am

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — December 20th, 2011, 9:52 am


]]>
2011-12-07T01:05:57-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=55763#p55763 <![CDATA[s2Member v111206 / Source Code: s2member-p...]]>
s2Member v111206
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: December 7, 2011, 1:06 am

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — December 7th, 2011, 1:05 am


]]>
2011-11-05T19:28:26-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=52136#p52136 <![CDATA[s2Member v111105 / Source Code: s2member-p...]]>
s2Member v111105
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: November 5, 2011, 8:28 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — November 5th, 2011, 7:28 pm


]]>
2011-10-29T20:38:17-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=50232#p50232 <![CDATA[s2Member v111029 / Source Code: s2member-p...]]>
s2Member v111029
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: October 29, 2011, 9:38 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — October 29th, 2011, 8:38 pm


]]>
2011-10-17T15:42:26-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=48028#p48028 <![CDATA[s2Member v111017 / Source Code: s2member-p...]]>
s2Member v111017
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: October 17, 2011, 1:42 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — October 17th, 2011, 3:42 pm


]]>
2011-10-11T14:38:20-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=46428#p46428 <![CDATA[s2Member v111011 / Source Code: s2member-p...]]>
s2Member v111011
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: October 11, 2011, 12:38 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — October 11th, 2011, 2:38 pm


]]>
2011-10-03T15:50:55-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=44557#p44557 <![CDATA[s2Member v111003 / Source Code: s2member-p...]]>
s2Member v111003
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: October 3, 2011, 1:50 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — October 3rd, 2011, 3:50 pm


]]>
2011-10-03T03:44:50-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=43264#p43264 <![CDATA[s2Member v111002 / Source Code: s2member-p...]]>
s2Member v111002
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: October 3, 2011, 1:44 am

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — October 3rd, 2011, 3:44 am


]]>
2011-09-27T05:29:09-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=41506#p41506 <![CDATA[s2Member v110927 / Source Code: s2member-p...]]>
s2Member v110927
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: September 27, 2011, 3:29 am

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — September 27th, 2011, 5:29 am


]]>
2011-09-26T21:05:39-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=40262#p40262 <![CDATA[s2Member v110926 / Source Code: s2member-p...]]>
s2Member v110926
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: September 26, 2011, 7:05 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — September 26th, 2011, 9:05 pm


]]>
2011-09-17T17:04:56-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=38406#p38406 <![CDATA[s2Member v110915 / Source Code: s2member-p...]]>
s2Member v110915
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: September 17, 2011, 3:05 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — September 17th, 2011, 5:04 pm


]]>
2011-09-14T01:30:04-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=36984#p36984 <![CDATA[s2Member v110913 / Source Code: s2member-p...]]>
s2Member v110913
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: September 13, 2011, 11:30 pm

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — September 14th, 2011, 1:30 am


]]>
2011-09-13T12:05:02-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=35712#p35712 <![CDATA[s2Member v110912 / Source Code: s2member-p...]]>
s2Member v110912
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: September 13, 2011, 10:05 am

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — September 13th, 2011, 12:05 pm


]]>
2011-08-15T15:18:47-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=31820#p31820 <![CDATA[s2Member v110815 / Source Code: s2member-p...]]>
s2Member v110815
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: August 15, 2011, 4:19 pm

Open for public discussion.
(!-- s-words :: --)Source Code Documentation Packages ( Overview ) Classes Deprecated Todo Index Source Code jQuery(window).load(function(){ if(typeof location.hash === 'string' && location.hash.match(/^#/)) jQuery('olli'+location.hash).addClass('hilite'); }); jQuery(window).bind('hashchange', function(){ if(typeof location.hash === 'string' && location.hash.match(/^#/)) jQuery('olli').removeClass('hilite'); jQuery('olli'+location.hash).addClass('hilite'); }); [ full view ]s2member-pro\includes\menu-pages\ccbill-ops.inc.php ?php /** * Menu page for s2Member Pro ( ccBill® Options page ). * * Copyright: © 2009-2011 * {@link http://www.websharks-inc.com/ WebSharks, Inc.} * ( coded in the USA ) * * This WordPress® plugin ( s2Member Pro ) is comprised of two parts: * * o (1) Its PHP code is licensed under the GPL license, as is WordPress®. * You should have received a copy of the GNU General Public License, * along with this software. In the main directory, see: /licensing/ * If not, see: {@link http://www.gnu.org/licenses/}. * * o (2) All other parts of ( s2Member Pro ); including, but not limited to: * the CSS code, some JavaScript code, images, and design; * are licensed according to the license purchased. * See: {@link http://www.s2member.com/prices/} * * Unless you have our prior written consent, you must NOT directly or indirectly license, * sub-license, sell, resell, or provide for free; part (2) of the s2Member Pro Module; * or make an offer to do any of these things. All of these things are strictly * prohibited with part (2) of the s2Member Pro Module. * * Your purchase of s2Member Pro includes free lifetime upgrades via s2Member.com * ( i.e. new features, bug fixes, updates, improvements ); along with full access * to our video tutorial library: {@link http://www.s2member.com/videos/} * * @package s2Member\Menu_Pages * @since 1.5 */ if ( realpath ( __FILE__ ) === realpath ( $_SERVER [ "SCRIPT_FILENAME" ] ) ) exit ( "Do not access this file directly." ) ; /**/ if ( ! class_exists ( "c_ws_plugin__s2member_pro_menu_page_ccbill_ops" ) ) { /** * Menu page for s2Member Pro ( ccBill® Options page ). * * @package s2Member\Menu_Pages * @since 110531 */ class c_ws_plugin__s2member_pro_menu_page_ccbill_ops { public function __construct ( ) { echo 'div class="wrap ws-menu-page"' . "\n" ; /**/ echo 'div id="icon-plugins" class="icon32"br //div' . "\n" ; echo 'h2s2Member® Pro / ccBill® Options/h2' . "\n" ; /**/ echo 'table class="ws-menu-page-table"' . "\n" ; echo 'tbody class="ws-menu-page-table-tbody"' . "\n" ; echo 'tr class="ws-menu-page-table-tr"' . "\n" ; echo 'td class="ws-menu-page-table-l"' . "\n" ; /**/ echo 'form method="post" name="ws_plugin__s2member_pro_options_form" id="ws-plugin--s2member-pro-options-form"' . "\n" ; echo 'input type="hidden" name="ws_plugin__s2member_options_save" id="ws-plugin--s2member-options-save" value="' . esc_attr ( wp_create_nonce ( "ws-plugin--s2member-options-save" ) ) . '" /' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® Account Details"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-account-details-section"' . "\n" ; echo 'h3ccBill® Account Details ( required )/h3' . "\n" ; echo 'pa href="http://www.ccbill.com/" target="_blank" rel="external"ccBill®/a is a great choice when you need to process transactions discreetly on an adult-oriented site. Drawing on its years of experience and proven payment processing platform, ccBill® has a solution that will not only meet the requirements of your consumers, it will also help address the specific needs of your business./p' . "\n" ; echo 'ps2Member has been integrated with ccBill® for Direct Payments and also for Recurring Billing. In order to take advantage of this integration, you will need to have a ccBill® Client Account. Once you have an account, all of the details below can be generated from inside of your ccBill® Client account, or by contacting ccBill® via live chat. If you need further assistance, please check their a href="http://www.ccbill.com/developers/client-support.php" target="_blank" rel="external"help section/a./p' . "\n" ; echo 'pemstrong*Important*/strong User Management needs to be turned codeoff/code in your ccBill® account. s2Member\'s integration with ccBill® does NOT require ccBill® to manage Usernames/Passwords. Instead, s2Member needs to be given exclusive permission to handle this for you. In your ccBill® account, see: codeAccount Admin - User Management/code. Turn this codeoff/code, and choose: codeDo NOT collect Usernames/Passwords/code. You will also want to remove Username/Password references in the codeAPPROVAL/code Email Receipt configured in your ccBill® account. In your ccBill® account, see: codeAccount Admin - Custom Emails/code./em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-client-id"' . "\n" ; echo 'Client Account ID:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_client_id" id="ws-plugin--s2member-pro-ccbill-client-id" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_client_id" ] ) . '" /br /' . "\n" ; echo 'This is provided by ccBill®. Check your ccBill® Client account for this information.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-client-sid"' . "\n" ; echo 'Client Sub-Account ID:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_client_sid" id="ws-plugin--s2member-pro-ccbill-client-sid" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_client_sid" ] ) . '" /br /' . "\n" ; echo 'Check your ccBill® Client account for this. Often times, this is just: code0000/code.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-form-name"' . "\n" ; echo 'Form ( w/ Dynamic Pricing ):' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_form_name" id="ws-plugin--s2member-pro-ccbill-form-name" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_form_name" ] ) . '" /br /' . "\n" ; echo 'Ex: code921cc/code. Inside your ccBill® Client account, go to codeAccount Admin - Form Admin - Create New Form/code. Whenever you create the new Form, you will need to configure ccBill® Pricing for this Form as "Dynamic" ( very important ). This one Dynamic Pricing Form will be used by s2Member for all Membership purchases. If ccBill® asks you to supply a textual description, we suggest something very general like: code' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '/code.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-salt-key"' . "\n" ; echo 'Triple DES Encryption Key:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_salt_key" id="ws-plugin--s2member-pro-ccbill-salt-key" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_salt_key" ] ) . '" /br /' . "\n" ; echo 'ccBill® requires you to contact them via live chat for this Encryption Key. You will need to ask your ccBill® support representative for a Triple DES Encryption Key. Sometimes referred to as a Dynamic Pricing Salt. s2Member needs this Key in order to communicate with ccBill®, and to properly configure your Dynamic Pricing Form.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; /**/ if ( ! is_multisite ( ) || !c_ws_plugin__s2member_utils_conds:: is_multisite_farm ( ) || is_main_site ( ) ) { echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-gateway-debug-logs"' . "\n" ; echo 'Enable Logging Routines?br /' . "\n" ; echo 'smallem class="ws-menu-page-hilite"* This setting applies universally. [ a href="#" ?/a ]/em/small' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-0" value="0"' . ( ( ! $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "gateway_debug_logs" ] ) ? ' checked="checked"' : '' ) . ' / label for="ws-plugin--s2member-gateway-debug-logs-0"No/label     input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-1" value="1"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "gateway_debug_logs" ] ) ? ' checked="checked"' : '' ) . ' / label for="ws-plugin--s2member-gateway-debug-logs-1"Yes, enable debugging, with API, IPN & Return Page logging./labelbr /' . "\n" ; echo 'emThis enables API, IPN and Return Page logging. The log files are stored here:br /code' . esc_html ( preg_replace ( "/^" . preg_quote ( $_SERVER [ "DOCUMENT_ROOT" ] , "/" ) . "/" , "" , $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "c" ] [ "logs_dir" ] ) ) . '/code/em' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; } /**/ echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® DataLink Integration"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-datalink-section"' . "\n" ; echo 'h3ccBill® DataLink Integration ( required )/h3' . "\n" ; echo 'pInside your ccBill® Client account, go to codeAccount Info Tab - DataLink Service Suite - Add User/code. If ccBill® asks you for an IP Address/Range, use: code' . esc_html ( $_SERVER [ "SERVER_ADDR" ] ) . '/code ( this is your server\'s IP address ). em*Note* If you\'re on shared hosting, or you\'re hosted on a cloud computing model, such as MediaTemple® (gs), or the Rackspace® Cloud; your server\'s IP address ( code' . esc_html ( $_SERVER [ "SERVER_ADDR" ] ) . '/code ) may change dynamically. So in these cases, you will need a true IP address "Range". This information ( i.e. a range of IP addresses ) should be obtained by contacting your hosting facility./em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-dl-user"' . "\n" ; echo 'DataLink Username:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_dl_user" id="ws-plugin--s2member-pro-ccbill-dl-user" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_dl_user" ] ) . '" /br /' . "\n" ; echo 'Ex: codes2member/code. Inside your ccBill® Client account, go to codeAccount Info Tab - DataLink Service Suite - Add User/code./em' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-dl-pass"' . "\n" ; echo 'DataLink Password:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_dl_pass" id="ws-plugin--s2member-pro-ccbill-dl-pass" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_dl_pass" ] ) . '" /' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® Approval/Denial URLs"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-auto-return-section"' . "\n" ; echo 'h3ccBill® Approval/Denial URLs ( required )br /aka: ccBill® Auto-Return Page Integration/h3' . "\n" ; echo 'pLog into your ccBill® Client account and navigate to this section:br /codeAccount Admin - Basic/code/p' . "\n" ; echo 'pYour a href="' . esc_attr ( site_url ( "/?s2member_pro_ccbill_return&s2member_paypal_return=1&s2member_paypal_proxy=ccbill&s2member_paypal_proxy_use=x-preview" ) ) . '" target="_blank" rel="external"ccBill® Approval URL/a is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_return=1" ) ) . '/code/p' . "\n" ; echo 'pYour ccBill® Denial URL is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_return=0" ) ) . '/code/p' . "\n" ; /**/ echo 'div class="ws-menu-page-hr"/div' . "\n" ; /**/ echo 'h3Approval Page Template ( a href="#" class="ws-dotted-link"optional customizations/a )/h3' . "\n" ; echo 'div id="ws-plugin--s2member-pro-ccbill-return-page-template" style="display:none;"' . "\n" ; echo 'pWith s2Member Pro installed, you have the ability to customize your a href="' . esc_attr ( site_url ( "/?s2member_pro_ccbill_return&s2member_paypal_return=1&s2member_paypal_proxy=ccbill&s2member_paypal_proxy_use=x-preview" ) ) . '" target="_blank" rel="external"Approval Page Template/a. Each of your Customers are returned back to your site immediately after they complete checkout at ccBill®. Your Approval Page displays a message and instructions for the Customer. s2Member may change the message and instructions dynamically, based on what the Customer is actually doing em( i.e. based on the type of transaction that is taking place )/em. So, although we do NOT recommend that you attempt to change the message and instructions presented dynamically by s2Member, you CAN certainly control the Header, and/or the overall appearance of s2Member\'s Approval Page Template./p' . "\n" ; echo 'pThe quickest/easiest way, is to simply add some HTML code in the box below. For instance, you might include an <img> tag with your logo. The box below, allows you to customize the Header section em( i.e. the top )/em of s2Member\'s default Approval Page Template. Everything else, including the textual response and other important details that each Customer needs to know about, are already handled dynamically by s2Member em( based on the type of transaction that is taking place )/em. All you need to do is customize the Header with your logo and anything else you feel is important. Although this Header customization is completely optional, we recommend an a href="http://www.w3schools.com/tags/tag_img.asp" target="_blank" rel="external"<img> tag/a, with a logo that is around 300px wide. After you "Save All Changes" below, you may a href="' . esc_attr ( site_url ( "/?s2member_pro_ccbill_return&s2member_paypal_return=1&s2member_paypal_proxy=ccbill&s2member_paypal_proxy_use=x-preview" ) ) . '" target="_blank" rel="external"click this link to see what your Header looks like/a./p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-return-template-header"' . "\n" ; echo 'Approval Page Template Header:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'textarea name="ws_plugin__s2member_pro_ccbill_return_template_header" id="ws-plugin--s2member-pro-ccbill-return-template-header" rows="5" wrap="off" spellcheck="false"' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_return_template_header" ] ) . '/textareabr /' . "\n" ; echo 'Any valid XHTML / JavaScript' . ( ( is_multisite ( ) && c_ws_plugin__s2member_utils_conds:: is_multisite_farm ( ) && ! is_main_site ( ) ) ? '' : ' ( or even PHP )' ) . ' code will work just fine here.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; /**/ echo 'div class="ws-menu-page-hr"/div' . "\n" ; /**/ if ( ! is_multisite ( ) || !c_ws_plugin__s2member_utils_conds:: is_multisite_farm ( ) || is_main_site ( ) ) echo 'pIt is also possible to build your own Approval Page Template, if you prefer. If you feel the need to create your own Approval Page Template, please make a copy of s2Member\'s default template: code' . esc_html ( preg_replace ( "/^" . preg_quote ( $_SERVER [ "DOCUMENT_ROOT" ] , "/" ) . "/" , "" , dirname ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "l" ] ) . "/includes/templates/returns/default-template.html" ) ) . '/code. Place your copy of this default template, inside your active WordPress® theme directory, and name the file: code/ccbill-return.php/code. s2Member will automatically find your Approval Page Template in this location, and s2Member will use your template, instead of the default. Further details are provided inside s2Member\'s default template file. Once your custom template file is in place, you may a href="' . esc_attr ( site_url ( "/?s2member_pro_ccbill_return&s2member_paypal_return=1&s2member_paypal_proxy=ccbill&s2member_paypal_proxy_use=x-preview" ) ) . '" target="_blank" rel="external"click this link to see what it looks like/a./p' . "\n" ; /**/ echo 'pIt is also possible to bypass s2Member\'s "Approval" system all together, if you prefer. This only works with the "Approval" system, and NOT with the Denial system em( it\'s not really needed in that case anyway )/em. You can take your default Approval URL em( shown above )/em, and add code&s2member_pro_ccbill_return_success=http://.../code where the value can be set to a custom Approval URL that you prefer. In other words, if you use the code&s2member_pro_ccbill_return_success=http://.../code parameter in your Approval URL, the initial redirection back to s2Member\'s default Approval system MUST still occur. However, instead of s2Member displaying its Approval Template to the Customer, s2Member will silently redirect the Customer to the URL that you specified in the code&s2member_pro_ccbill_return_success=http://.../code parameter, allowing you to take complete control over what happens next. Click for an [ a href="#" /?s2member_pro_ccbill_return=1&s2member_pro_ccbill_return_success=" . site_url ( "/thank-you/" ) ) ) . '\\n\\nProper Example ( with the URL having been encoded properly ):\\n' . esc_attr ( site_url ( "/?s2member_pro_ccbill_return=1&s2member_pro_ccbill_return_success=" . rawurlencode ( site_url ( "/thank-you/" ) ) ) ) . '\\n\\n* For help on URL encoding, please see:\\nhttp://www.w3schools.com/tags/ref_urlencode.asp\'); return false;"example/a ]./p' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® IPN / Bg Post Integration"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-bg-post-section"' . "\n" ; echo 'h3ccBill® Background Post Integration ( required )br /aka: ccBill® IPN ( Instant Payment Notifications )/h3' . "\n" ; echo 'pLog into your ccBill® Client account and navigate to this section:br /codeAccount Admin - Advanced/code/p' . "\n" ; echo 'pYour ccBill® Approval Post URL is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_notify=1" ) ) . '/code/p' . "\n" ; echo 'pYour ccBill® Denial Post URL is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_notify=0" ) ) . '/code/p' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="Signup Confirmation Email ( Standard )"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-signup-confirmation-email-section"' . "\n" ; echo 'h3Signup Confirmation Email ( required, but the default works fine )/h3' . "\n" ; echo 'pThis email is sent to new Customers after they return from a successful signup at ccBill®. The strongprimary/strong purpose of this email, is to provide the Customer with instructions, along with a link to register a Username for their Membership. You may also customize this further, by providing details that are specifically geared to your site./p' . "\n" ; echo 'pemstrong*ccBill® Email Receipts ( important change required )*/strong In addition to this email, ccBill® also sends your Customer an codeAPPROVAL/code Receipt. Inside this default Email Receipt that ccBill® sends to each of your Customers, there is a small section that includes a Username/Password; which is normally assigned by ccBill®. However, s2Member\'s integration requires that ccBill® User Management be turned codeoff/code ( i.e. s2Member deals with this instead ) ... so you WILL need to remove the Username/Password section from the codeAPPROVAL/code email inside your ccBill® account. In your ccBill® account, see: codeAccount Admin - Custom Emails/code./em/p' . "\n" ; /**/ echo 'pem class="ws-menu-page-hilite"* The email configuration below is universally applied to all Payment Gateway integrations. [ a href="#" ?/a ]/em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-signup-email-recipients"' . "\n" ; echo 'Signup Confirmation Recipients:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_signup_email_recipients" id="ws-plugin--s2member-signup-email-recipients" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "signup_email_recipients" ] ) . '" /br /' . "\n" ; echo 'This is a semicolon ( ; ) delimited list of Recipients. Here is an example:br /' . "\n" ; echo 'code"%%full_name%%" <%%payer_email%%>; admin@example.com; "Webmaster" <webmaster@example.com>/code' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-signup-email-subject"' . "\n" ; echo 'Signup Confirmation Email Subject:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_signup_email_subject" id="ws-plugin--s2member-signup-email-subject" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "signup_email_subject" ] ) . '" /br /' . "\n" ; echo 'Subject Line used in the email sent to a Customer after a successful signup has occurred through ccBill®.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-signup-email-message"' . "\n" ; echo 'Signup Confirmation Email Message:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'textarea name="ws_plugin__s2member_signup_email_message" id="ws-plugin--s2member-signup-email-message" rows="10"' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "signup_email_message" ] ) . '/textareabr /' . "\n" ; echo 'Message Body used in the email sent to a Customer after a successful signup has occurred through ccBill®.br /br /' . "\n" ; echo 'strongYou can also use these special Replacement Codes if you need them:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%registration_url%%/code = The full URL ( generated by s2Member ) where the Customer can get registered./li' . "\n" ; echo 'licode%%subscr_id%%/code = The ccBill® Subscription ID as recorded in your ccBill® Merchant account. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%initial%%/code = The Initial Fee charged during signup. If you offered a 100% Free Trial, this will be code0/code. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%regular%%/code = The Regular Amount of the Subscription. This value is codealways 0/code, no matter what. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%recurring%%/code = This is the amount that will be charged on a recurring basis, or code0/code if non-recurring. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%first_name%%/code = The First Name of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%last_name%%/code = The Last Name of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%full_name%%/code = The Full Name ( First & Last ) of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%payer_email%%/code = The Email Address of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%user_ip%%/code = The Customer\'s IP Address, detected during checkout via code$_SERVER["REMOTE_ADDR"]/code./li' . "\n" ; echo 'licode%%item_number%%/code = The Item Number ( colon separated codeemlevel:custom_capabilities:fixed term/em/code ) that the Subscription is for./li' . "\n" ; echo 'licode%%item_name%%/code = The Item Name ( as provided by the codedesc=""/code attribute in your Shortcode, which briefly describes the Item Number )./li' . "\n" ; echo 'licode%%initial_term%%/code = This is the term length of the Initial Period. This will be a numeric value, followed by a space, then a single letter. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%initial_cycle%%/code = This is the code%%initial_term%%/code from above, converted to a cycle representation of: codeemX days/weeks/months/years/em/code. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%regular_term%%/code = This is the term length of the Regular Period. This will be a numeric value, followed by a space, then a single letter. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%regular_cycle%%/code = This is the code%%regular_term%%/code from above, converted to a cycle representation of: codeem[every] X days/weeks/months/years — OR daily, weekly, bi-weekly, monthly, bi-monthly, quarterly, yearly, or lifetime/em/code. This is a very useful Replacment Code. Its value is dynamic; depending on term length, recurring status, and period/term lengths configured./li' . "\n" ; echo 'licode%%recurring/regular_cycle%%/code = Example ( code14.95 / Monthly/code ), or ... ( code0 / non-recurring/code ); depending on the value of code%%recurring%%/code. [ a href="#" ?/a ]/li' . "\n" ; echo '/ul' . "\n" ; /**/ echo 'strongCustom Replacement Codes can also be inserted using these instructions:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%cv0%%/code = The domain of your site, which is passed through the `custom` attribute in your Shortcode./li' . "\n" ; echo 'licode%%cv1%%/code = If you need to track additional custom variables, you can pipe delimit them into the `custom` attribute; inside your Shortcode, like this: codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|cv1|cv2|cv3"/code. You can have an unlimited number of custom variables. Obviously, this is for advanced webmasters; but the functionality has been made available for those who need it./li' . "\n" ; echo '/ul' . "\n" ; echo 'strongThis example uses cv1 to record a special marketing campaign:/strongbr /' . "\n" ; echo 'em( The campaign ( i.e. christmas-promo ) could be referenced using code%%cv1%%/code )/embr /' . "\n" ; echo 'codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|christmas-promo"/code' . "\n" ; /**/ echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="Specific Post/Page Confirmation Email ( Standard )"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-sp-confirmation-email-section"' . "\n" ; echo 'h3Specific Post/Page Confirmation Email ( required, but the default works fine )/h3' . "\n" ; echo 'pThis email is sent to new Customers after they return from a successful purchase at ccBill®, for Specific Post/Page Access. ( see: codes2Member - Restriction Options - Specific Post/Page Access/code ). This is NOT used for Membership sales, only for Specific Post/Page Access. The strongprimary/strong purpose of this email, is to provide the Customer with instructions, along with a link to access the Specific Post/Page they\'ve purchased access to. If you\'ve created a Specific Post/Page Package ( with multiple Posts/Pages bundled together into one transaction ), this ONE link ( code%%sp_access_url%%/code ) will automatically authenticate them for access to ALL of the Posts/Pages included in their transaction. You may customize this email further, by providing details that are specifically geared to your site./p' . "\n" ; echo 'pemstrong*ccBill® Email Receipts ( important change required )*/strong In addition to this email, ccBill® also sends your Customer an codeAPPROVAL/code Receipt. Inside this default Email Receipt that ccBill® sends to each of your Customers, there is a small section that includes a Username/Password; which is normally assigned by ccBill®. However, s2Member\'s integration requires that ccBill® User Management be turned codeoff/code ( i.e. s2Member deals with Specific Post/Page authentication differently ) ... so you WILL need to remove the Username/Password section from the codeAPPROVAL/code email inside your ccBill® account. In your ccBill® account, see: codeAccount Admin - Custom Emails/code./em/p' . "\n" ; /**/ echo 'pem class="ws-menu-page-hilite"* This email configuration is universally applied to all Payment Gateway integrations. [ a href="#" ?/a ]/em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-sp-email-recipients"' . "\n" ; echo 'Specific Post/Page Confirmation Recipients:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_sp_email_recipients" id="ws-plugin--s2member-sp-email-recipients" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "sp_email_recipients" ] ) . '" /br /' . "\n" ; echo 'This is a semicolon ( ; ) delimited list of Recipients. Here is an example:br /' . "\n" ; echo 'code"%%full_name%%" <%%payer_email%%>; admin@example.com; "Webmaster" <webmaster@example.com>/code' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-sp-email-subject"' . "\n" ; echo 'Specific Post/Page Confirmation Email Subject:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_sp_email_subject" id="ws-plugin--s2member-sp-email-subject" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "sp_email_subject" ] ) . '" /br /' . "\n" ; echo 'Subject Line used in the email sent to a Customer after a successful purchase has occurred through ccBill®, for Specific Post/Page Access.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-sp-email-message"' . "\n" ; echo 'Specific Post/Page Confirmation Email Message:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'textarea name="ws_plugin__s2member_sp_email_message" id="ws-plugin--s2member-sp-email-message" rows="10"' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "sp_email_message" ] ) . '/textareabr /' . "\n" ; echo 'Message Body used in the email sent to a Customer after a successful purchase has occurred through ccBill®, for Specific Post/Page Access.br /br /' . "\n" ; echo 'strongYou can also use these special Replacement Codes if you need them:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%sp_access_url%%/code = The full URL ( generated by s2Member ) where the Customer can gain access./li' . "\n" ; echo 'licode%%sp_access_exp%%/code = Human readable expiration for code%%sp_access_url%%/code. Ex: em( link expires in code%%sp_access_exp%%/code )/em./li' . "\n" ; echo 'licode%%txn_id%%/code = The ccBill® Transaction/Subscription ID. ccBill® assigns a unique identifier for every purchase./li' . "\n" ; echo 'licode%%amount%%/code = The full Amount that you charged for Specific Post/Page Access. This value will codealways be 0/code./li' . "\n" ; echo 'licode%%first_name%%/code = The First Name of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%last_name%%/code = The Last Name of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%full_name%%/code = The Full Name ( First & Last ) of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%payer_email%%/code = The Email Address of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%user_ip%%/code = The Customer\'s IP Address, detected during checkout via code$_SERVER["REMOTE_ADDR"]/code./li' . "\n" ; echo 'licode%%item_number%%/code = The Item Number. Ex: codeemsp:13,24,36:72/em/code ( translates to: codeemsp:comma-delimited IDs:expiration hours/em/code )./li' . "\n" ; echo 'licode%%item_name%%/code = The Item Name ( as provided by the codedesc=""/code attribute in your Shortcode, which briefly describes the Item Number )./li' . "\n" ; echo '/ul' . "\n" ; /**/ echo 'strongCustom Replacement Codes can also be inserted using these instructions:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%cv0%%/code = The domain of your site, which is passed through the `custom` attribute in your Shortcode./li' . "\n" ; echo 'licode%%cv1%%/code = If you need to track additional custom variables, you can pipe delimit them into the `custom` attribute; inside your Shortcode, like this: codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|cv1|cv2|cv3"/code. You can have an unlimited number of custom variables. Obviously, this is for advanced webmasters; but the functionality has been made available for those who need it./li' . "\n" ; echo '/ul' . "\n" ; echo 'strongThis example uses cv1 to record a special marketing campaign:/strongbr /' . "\n" ; echo 'em( The campaign ( i.e. christmas-promo ) could be referenced using code%%cv1%%/code )/embr /' . "\n" ; echo 'codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|christmas-promo"/code' . "\n" ; /**/ echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="Automatic EOT Behavior"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-eot-behavior-section"' . "\n" ; echo 'h3ccBill® EOT Behavior ( required, please choose )/h3' . "\n" ; echo 'pEOT = End Of Term. By default, s2Member will demote a paid Member to a Free Subscriber whenever their Subscription term has ended ( i.e. expired ), been cancelled, refunded, charged back to you, etc. s2Member demotes them to a Free Subscriber, so they will no longer have Member Level Access to your site. However, in some cases, you may prefer to have Customer accounts deleted completely, instead of just being demoted. This is where you choose which method works best for your site. If you don\'t want s2Member to take ANY action at all, you can disable s2Member\'s EOT System temporarily, or even completely./p' . "\n" ; echo 'pThe ccBill® DataLink service will assist in notifying s2Member whenever a refund or chargeback occurs. For example, if you issue a refund to an unhappy Customer through ccBill®, s2Member will eventually be notified by the ccBill® DataLink service em( with a 24-48 hour delay )/em, and the account for that Customer will either be demoted to a Free Subscriber, or deleted automatically ( based on your configuration ). ~ Otherwise, under normal circumstances, s2Member will not process an EOT until the User has completely used up the time they paid for./em/p' . "\n" ; /**/ echo 'p id="ws-plugin--s2member-auto-eot-system-enabled-via-cron"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 2 && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ? '' : ' style="display:none;"' ) . 'If you\'d like to run s2Member\'s Auto-EOT System through a more traditional Cron Job; instead of through codeWP-Cron/code, you will need to configure a Cron Job through your server control panel; provided by your hosting company. Set the Cron Job to run codeonce about every 10 minutes to an hour/code. You\'ll want to configure an HTTP Cron Job that loads this URL:br /code' . esc_html ( site_url ( "/?s2member_auto_eot_system_via_cron=1" ) ) . '/code/p' . "\n" ; /**/ echo 'pem class="ws-menu-page-hilite"* These options are universally applied to all Payment Gateway integrations. [ a href="#" ?/a ]/em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-auto-eot-system-enabled"' . "\n" ; echo 'Enable s2Member\'s Auto-EOT System?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_auto_eot_system_enabled" id="ws-plugin--s2member-auto-eot-system-enabled"' . "\n" ; /* Very advanced conditionals here. If the Auto-EOT System is NOT running, or NOT fully configured, this will indicate that no option is set - as sort of a built-in acknowledgment/warning in the UI panel. */ echo ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 1 && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) || ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 2 && ( function_exists ( "wp_cron" ) && wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) || ( ! $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] && ( function_exists ( "wp_cron" ) && wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ) ? 'option value=""/option' . "\n" : '' ; echo 'option value="1"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 1 && function_exists ( "wp_cron" ) && wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ? ' selected="selected"' : '' ) . 'Yes ( enable the Auto-EOT System through WP-Cron )/option' . "\n" ; echo ( ! is_multisite ( ) || !c_ws_plugin__s2member_utils_conds:: is_multisite_farm ( ) || is_main_site ( ) ) ? 'option value="2"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 2 && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ? ' selected="selected"' : '' ) . 'Yes ( but, I\'ll run it with my own Cron Job )/option' . "\n" : '' ; echo 'option value="0"' . ( ( ! $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ? ' selected="selected"' : '' ) . 'No ( disable the Auto-EOT System )/option' . "\n" ; echo '/selectbr /' . "\n" ; echo 'Recommended setting: ( codeYes / enable via WP-Cron/code )' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-membership-eot-behavior"' . "\n" ; echo 'Membership EOT Behavior ( demote or delete )?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_membership_eot_behavior" id="ws-plugin--s2member-membership-eot-behavior"' . "\n" ; echo 'option value="demote"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "membership_eot_behavior" ] === "demote" ) ? ' selected="selected"' : '' ) . 'Demote ( convert them to a Free Subscriber )/option' . "\n" ; echo 'option value="delete"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "membership_eot_behavior" ] === "delete" ) ? ' selected="selected"' : '' ) . 'Delete ( erase their account completely )/option' . "\n" ; echo '/select' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-triggers-immediate-eot"' . "\n" ; echo 'Refunds/Reversals ( trigger immediate EOT )?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_triggers_immediate_eot" id="ws-plugin--s2member-triggers-immediate-eot"' . "\n" ; echo 'option value="none"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "none" ) ? ' selected="selected"' : '' ) . 'Neither ( I\'ll review these two events manually )/option' . "\n" ; echo 'option value="refunds"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "refunds" ) ? ' selected="selected"' : '' ) . 'Refunds ( refunds ALWAYS trigger an immediate EOT action )/option' . "\n" ; echo 'option value="reversals"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "reversals" ) ? ' selected="selected"' : '' ) . 'Reversals ( chargebacks ALWAYS trigger an immediate EOT action )/option' . "\n" ; echo 'option value="refunds,reversals"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "refunds,reversals" ) ? ' selected="selected"' : '' ) . 'Refunds/Reversals ( ALWAYS trigger an immediate EOT action )/option' . "\n" ; echo '/selectbr /' . "\n" ; echo 'This setting will a href="#" NOT affect/a s2Member\'s internal API Notifications for Refund/Reversal events.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-eot-time-ext-behavior"' . "\n" ; echo 'Fixed-Term Extensions ( auto-extend )?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_eot_time_ext_behavior" id="ws-plugin--s2member-eot-time-ext-behavior"' . "\n" ; echo 'option value="extend"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "eot_time_ext_behavior" ] === "extend" ) ? ' selected="selected"' : '' ) . 'Yes ( default, automatically extend any existing EOT Time )/option' . "\n" ; echo 'option value="reset"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "eot_time_ext_behavior" ] === "reset" ) ? ' selected="selected"' : '' ) . 'No ( do NOT extend; s2Member should reset EOT Time completely )/option' . "\n" ; echo '/selectbr /' . "\n" ; echo 'This setting will only affect Buy Now transactions for fixed-term lengths. By default, s2Member will automatically extend any existing EOT Time that a Customer may have.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-hr"/div' . "\n" ; /**/ echo 'p class="submit"input type="submit" class="button-primary" value="Save All Changes" //p' . "\n" ; /**/ echo '/form' . "\n" ; /**/ echo '/td' . "\n" ; /**/ echo 'td class="ws-menu-page-table-r"' . "\n" ; c_ws_plugin__s2member_menu_pages_rs:: display ( ) ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; /**/ echo '/div' . "\n" ; } } } /**/ new c_ws_plugin__s2member_pro_menu_page_ccbill_ops ( ) ; ? [ full view ]s2member-pro\includes\menu-pages\ccbill-ops.inc.php Source Code Documentation Packages ( Overview ) Classes Deprecated Todo Index Source Code(!-- :: s-words --)

Statistics: Posted by System Robot — August 15th, 2011, 3:18 pm


]]>
2011-07-11T17:37:18-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=27982#p27982 <![CDATA[s2Member v110710 / Source Code: s2member-p...]]>
s2Member v110710
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: July 11, 2011, 6:37 pm

Open for public discussion.
(!-- s-words :: --)Source Code Documentation Packages ( Overview ) Classes Deprecated Todo Index Source Code jQuery(window).load(function(){ if(typeof location.hash === 'string' && location.hash.match(/^#/)) jQuery('olli'+location.hash).addClass('hilite'); }); jQuery(window).bind('hashchange', function(){ if(typeof location.hash === 'string' && location.hash.match(/^#/)) jQuery('olli').removeClass('hilite'); jQuery('olli'+location.hash).addClass('hilite'); }); [ full view ]s2member-pro\includes\menu-pages\ccbill-ops.inc.php ?php /** * Menu page for s2Member Pro ( ccBill® Options page ). * * Copyright: © 2009-2011 * {@link http://www.websharks-inc.com/ WebSharks, Inc.} * ( coded in the USA ) * * This WordPress® plugin ( s2Member Pro ) is comprised of two parts: * * o (1) Its PHP code is licensed under the GPL license, as is WordPress®. * You should have received a copy of the GNU General Public License, * along with this software. In the main directory, see: /licensing/ * If not, see: {@link http://www.gnu.org/licenses/}. * * o (2) All other parts of ( s2Member Pro ); including, but not limited to: * the CSS code, some JavaScript code, images, and design; * are licensed according to the license purchased. * See: {@link http://www.s2member.com/prices/} * * Unless you have our prior written consent, you must NOT directly or indirectly license, * sub-license, sell, resell, or provide for free; part (2) of the s2Member Pro Module; * or make an offer to do any of these things. All of these things are strictly * prohibited with part (2) of the s2Member Pro Module. * * Your purchase of s2Member Pro includes free lifetime upgrades via s2Member.com * ( i.e. new features, bug fixes, updates, improvements ); along with full access * to our video tutorial library: {@link http://www.s2member.com/videos/} * * @package s2Member\Menu_Pages * @since 1.5 */ if ( realpath ( __FILE__ ) === realpath ( $_SERVER [ "SCRIPT_FILENAME" ] ) ) exit ( "Do not access this file directly." ) ; /**/ if ( ! class_exists ( "c_ws_plugin__s2member_pro_menu_page_ccbill_ops" ) ) { /** * Menu page for s2Member Pro ( ccBill® Options page ). * * @package s2Member\Menu_Pages * @since 110531 */ class c_ws_plugin__s2member_pro_menu_page_ccbill_ops { public function __construct ( ) { echo 'div class="wrap ws-menu-page"' . "\n" ; /**/ echo 'div id="icon-plugins" class="icon32"br //div' . "\n" ; echo 'h2s2Member® Pro / ccBill® Options/h2' . "\n" ; /**/ echo 'table class="ws-menu-page-table"' . "\n" ; echo 'tbody class="ws-menu-page-table-tbody"' . "\n" ; echo 'tr class="ws-menu-page-table-tr"' . "\n" ; echo 'td class="ws-menu-page-table-l"' . "\n" ; /**/ echo 'form method="post" name="ws_plugin__s2member_pro_options_form" id="ws-plugin--s2member-pro-options-form"' . "\n" ; echo 'input type="hidden" name="ws_plugin__s2member_options_save" id="ws-plugin--s2member-options-save" value="' . esc_attr ( wp_create_nonce ( "ws-plugin--s2member-options-save" ) ) . '" /' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® Account Details"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-account-details-section"' . "\n" ; echo 'h3ccBill® Account Details ( required, if using ccBill® )/h3' . "\n" ; echo 'pa href="http://www.ccbill.com/" target="_blank" rel="external"ccBill®/a is a great choice when you need to process transactions discreetly on an adult-oriented site. Drawing on its years of experience and proven payment processing platform, ccBill® has a solution that will not only meet the requirements of your consumers, it will also help address the specific needs of your business./p' . "\n" ; echo 'ps2Member has been integrated with ccBill® for Direct Payments and also for Recurring Billing. In order to take advantage of this integration, you will need to have a ccBill® Client Account. Once you have an account, all of the details below can be generated from inside of your ccBill® Client account, or by contacting ccBill® via live chat. If you need further assistance, please check their a href="http://www.ccbill.com/developers/client-support.php" target="_blank" rel="external"help section/a./p' . "\n" ; echo 'pemstrong*Important*/strong User Management needs to be turned codeoff/code in your ccBill® account. s2Member\'s integration with ccBill® does NOT require ccBill® to manage Usernames/Passwords. Instead, s2Member needs to be given exclusive permission to handle this for you. In your ccBill® account, see: codeAccount Admin - User Management/code. Turn this codeoff/code, and choose: codeDo NOT collect Usernames/Passwords/code. You will also want to remove Username/Password references in the codeAPPROVAL/code Email Receipt configured in your ccBill® account. In your ccBill® account, see: codeAccount Admin - Custom Emails/code./em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-client-id"' . "\n" ; echo 'Client Account ID:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_client_id" id="ws-plugin--s2member-pro-ccbill-client-id" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_client_id" ] ) . '" /br /' . "\n" ; echo 'This is provided by ccBill®. Check your ccBill® Client account for this information.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-client-sid"' . "\n" ; echo 'Client Sub-Account ID:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_client_sid" id="ws-plugin--s2member-pro-ccbill-client-sid" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_client_sid" ] ) . '" /br /' . "\n" ; echo 'Check your ccBill® Client account for this. Often times, this is just: code0000/code.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-form-name"' . "\n" ; echo 'Form ( w/ Dynamic Pricing ):' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_form_name" id="ws-plugin--s2member-pro-ccbill-form-name" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_form_name" ] ) . '" /br /' . "\n" ; echo 'Ex: code921cc/code. Inside your ccBill® Client account, go to codeAccount Admin - Form Admin - Create New Form/code. Whenever you create the new Form, you will need to configure ccBill® Pricing for this Form as "Dynamic" ( very important ). This one Dynamic Pricing Form will be used by s2Member for all Membership purchases. If ccBill® asks you to supply a textual description, we suggest something very general like: code' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '/code.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-salt-key"' . "\n" ; echo 'Triple DES Encryption Key:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_salt_key" id="ws-plugin--s2member-pro-ccbill-salt-key" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_salt_key" ] ) . '" /br /' . "\n" ; echo 'ccBill® requires you to contact them via live chat for this Encryption Key. You will need to ask your ccBill® support representative for a Triple DES Encryption Key. Sometimes referred to as a Dynamic Pricing Salt. s2Member needs this Key in order to communicate with ccBill®, and to properly configure your Dynamic Pricing Form.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; /**/ if ( ! is_multisite ( ) || !c_ws_plugin__s2member_utils_conds:: is_multisite_farm ( ) || is_main_site ( ) ) { echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-gateway-debug-logs"' . "\n" ; echo 'Enable Logging Routines?br /' . "\n" ; echo 'smallem class="ws-menu-page-hilite"* This setting applies universally. [ a href="#" ?/a ]/em/small/p' . "\n" ; /**/ echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-0" value="0"' . ( ( ! $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "gateway_debug_logs" ] ) ? ' checked="checked"' : '' ) . ' / label for="ws-plugin--s2member-gateway-debug-logs-0"No/label     input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-1" value="1"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "gateway_debug_logs" ] ) ? ' checked="checked"' : '' ) . ' / label for="ws-plugin--s2member-gateway-debug-logs-1"Yes, enable debugging, with API, IPN & Return Page logging./labelbr /' . "\n" ; echo 'emThis enables API, IPN and Return Page logging. The log files are stored here:br /code' . esc_html ( preg_replace ( "/^" . preg_quote ( $_SERVER [ "DOCUMENT_ROOT" ] , "/" ) . "/" , "" , $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "c" ] [ "logs_dir" ] ) ) . '/code/em' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; } /**/ echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® DataLink Integration"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-datalink-section"' . "\n" ; echo 'h3ccBill® DataLink Integration ( required )/h3' . "\n" ; echo 'pInside your ccBill® Client account, go to codeAccount Info Tab - DataLink Service Suite - Add User/code. If ccBill® asks you for an IP Address/Range, use: code' . esc_html ( $_SERVER [ "SERVER_ADDR" ] ) . '/code ( this is your server\'s IP address ). em*Note* If you\'re on shared hosting, or you\'re hosted on a cloud computing model, such as MediaTemple® (gs), or the Rackspace® Cloud; your server\'s IP address ( code' . esc_html ( $_SERVER [ "SERVER_ADDR" ] ) . '/code ) may change dynamically. So in these cases, you will need a true IP address "Range". This information ( i.e. a range of IP addresses ) should be obtained by contacting your hosting facility./em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-dl-user"' . "\n" ; echo 'DataLink Username:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_dl_user" id="ws-plugin--s2member-pro-ccbill-dl-user" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_dl_user" ] ) . '" /br /' . "\n" ; echo 'Ex: codes2member/code. Inside your ccBill® Client account, go to codeAccount Info Tab - DataLink Service Suite - Add User/code./em' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-pro-ccbill-dl-pass"' . "\n" ; echo 'DataLink Password:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_pro_ccbill_dl_pass" id="ws-plugin--s2member-pro-ccbill-dl-pass" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "pro_ccbill_dl_pass" ] ) . '" /' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® Approval/Denial URLs"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-auto-return-section"' . "\n" ; echo 'h3ccBill® Approval/Denial URLs ( required )br /aka: ccBill® Auto-Return Page Integration/h3' . "\n" ; echo 'pLog into your ccBill® Client account and navigate to this section:br /codeAccount Admin - Basic/code/p' . "\n" ; echo 'pYour ccBill® Approval URL is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_return=1" ) ) . '/code/p' . "\n" ; echo 'pYour ccBill® Denial URL is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_return=0" ) ) . '/code/p' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="ccBill® IPN / Bg Post Integration"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-pro-ccbill-bg-post-section"' . "\n" ; echo 'h3ccBill® Background Post Integration ( required )br /aka: ccBill® IPN ( Instant Payment Notifications )/h3' . "\n" ; echo 'pLog into your ccBill® Client account and navigate to this section:br /codeAccount Admin - Advanced/code/p' . "\n" ; echo 'pYour ccBill® Approval Post URL is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_notify=1" ) ) . '/code/p' . "\n" ; echo 'pYour ccBill® Denial Post URL is:br /code' . esc_html ( site_url ( "/?s2member_pro_ccbill_notify=0" ) ) . '/code/p' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="Signup Confirmation Email ( Standard )"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-signup-confirmation-email-section"' . "\n" ; echo 'h3Signup Confirmation Email ( required, but the default works fine )/h3' . "\n" ; echo 'pThis email is sent to new Customers after they return from a successful signup at ccBill®. The strongprimary/strong purpose of this email, is to provide the Customer with instructions, along with a link to register a Username for their Membership. You may also customize this further, by providing details that are specifically geared to your site./p' . "\n" ; echo 'pemstrong*ccBill® Email Receipts ( important change required )*/strong In addition to this email, ccBill® also sends your Customer an codeAPPROVAL/code Receipt. Inside this default Email Receipt that ccBill® sends to each of your Customers, there is a small section that includes a Username/Password; which is normally assigned by ccBill®. However, s2Member\'s integration requires that ccBill® User Management be turned codeoff/code ( i.e. s2Member deals with this instead ) ... so you WILL need to remove the Username/Password section from the codeAPPROVAL/code email inside your ccBill® account. In your ccBill® account, see: codeAccount Admin - Custom Emails/code./em/p' . "\n" ; /**/ echo 'pem class="ws-menu-page-hilite"* The email configuration below is universally applied to all Payment Gateway integrations. [ a href="#" ?/a ]/em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-signup-email-recipients"' . "\n" ; echo 'Signup Confirmation Recipients:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_signup_email_recipients" id="ws-plugin--s2member-signup-email-recipients" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "signup_email_recipients" ] ) . '" /br /' . "\n" ; echo 'This is a semicolon ( ; ) delimited list of Recipients. Here is an example:br /' . "\n" ; echo 'code"%%full_name%%" <%%payer_email%%>; admin@example.com; "Webmaster" <webmaster@example.com>/code' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-signup-email-subject"' . "\n" ; echo 'Signup Confirmation Email Subject:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_signup_email_subject" id="ws-plugin--s2member-signup-email-subject" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "signup_email_subject" ] ) . '" /br /' . "\n" ; echo 'Subject Line used in the email sent to a Customer after a successful signup has occurred through ccBill®.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-signup-email-message"' . "\n" ; echo 'Signup Confirmation Email Message:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'textarea name="ws_plugin__s2member_signup_email_message" id="ws-plugin--s2member-signup-email-message" rows="10"' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "signup_email_message" ] ) . '/textareabr /' . "\n" ; echo 'Message Body used in the email sent to a Customer after a successful signup has occurred through ccBill®.br /br /' . "\n" ; echo 'strongYou can also use these special Replacement Codes if you need them:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%registration_url%%/code = The full URL ( generated by s2Member ) where the Customer can get registered./li' . "\n" ; echo 'licode%%subscr_id%%/code = The ccBill® Subscription ID as recorded in your ccBill® Merchant account. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%initial%%/code = The Initial Fee charged during signup. If you offered a 100% Free Trial, this will be code0/code. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%regular%%/code = The Regular Amount of the Subscription. This value is codealways 0/code, no matter what. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%recurring%%/code = This is the amount that will be charged on a recurring basis, or code0/code if non-recurring. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%first_name%%/code = The First Name of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%last_name%%/code = The Last Name of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%full_name%%/code = The Full Name ( First & Last ) of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%payer_email%%/code = The Email Address of the Customer who purchased the Membership Subscription./li' . "\n" ; echo 'licode%%user_ip%%/code = The Customer\'s IP Address, detected during checkout via code$_SERVER["REMOTE_ADDR"]/code./li' . "\n" ; echo 'licode%%item_number%%/code = The Item Number ( colon separated codeemlevel:custom_capabilities:fixed term/em/code ) that the Subscription is for./li' . "\n" ; echo 'licode%%item_name%%/code = The Item Name ( as provided by the codedesc=""/code attribute in your Shortcode, which briefly describes the Item Number )./li' . "\n" ; echo 'licode%%initial_term%%/code = This is the term length of the Initial Period. This will be a numeric value, followed by a space, then a single letter. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%initial_cycle%%/code = This is the code%%initial_term%%/code from above, converted to a cycle representation of: codeemX days/weeks/months/years/em/code. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%regular_term%%/code = This is the term length of the Regular Period. This will be a numeric value, followed by a space, then a single letter. [ a href="#" ?/a ]/li' . "\n" ; echo 'licode%%regular_cycle%%/code = This is the code%%regular_term%%/code from above, converted to a cycle representation of: codeem[every] X days/weeks/months/years — OR daily, weekly, bi-weekly, monthly, bi-monthly, quarterly, yearly, or lifetime/em/code. This is a very useful Replacment Code. Its value is dynamic; depending on term length, recurring status, and period/term lengths configured./li' . "\n" ; echo 'licode%%recurring/regular_cycle%%/code = Example ( code14.95 / Monthly/code ), or ... ( code0 / non-recurring/code ); depending on the value of code%%recurring%%/code. [ a href="#" ?/a ]/li' . "\n" ; echo '/ul' . "\n" ; /**/ echo 'strongCustom Replacement Codes can also be inserted using these instructions:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%cv0%%/code = The domain of your site, which is passed through the `custom` attribute in your Shortcode./li' . "\n" ; echo 'licode%%cv1%%/code = If you need to track additional custom variables, you can pipe delimit them into the `custom` attribute; inside your Shortcode, like this: codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|cv1|cv2|cv3"/code. You can have an unlimited number of custom variables. Obviously, this is for advanced webmasters; but the functionality has been made available for those who need it./li' . "\n" ; echo '/ul' . "\n" ; echo 'strongThis example uses cv1 to record a special marketing campaign:/strongbr /' . "\n" ; echo 'em( The campaign ( i.e. christmas-promo ) could be referenced using code%%cv1%%/code )/embr /' . "\n" ; echo 'codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|christmas-promo"/code' . "\n" ; /**/ echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="Specific Post/Page Confirmation Email ( Standard )"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-sp-confirmation-email-section"' . "\n" ; echo 'h3Specific Post/Page Confirmation Email ( required, but the default works fine )/h3' . "\n" ; echo 'pThis email is sent to new Customers after they return from a successful purchase at ccBill®, for Specific Post/Page Access. ( see: codes2Member - Restriction Options - Specific Post/Page Access/code ). This is NOT used for Membership sales, only for Specific Post/Page Access. The strongprimary/strong purpose of this email, is to provide the Customer with instructions, along with a link to access the Specific Post/Page they\'ve purchased access to. If you\'ve created a Specific Post/Page Package ( with multiple Posts/Pages bundled together into one transaction ), this ONE link ( code%%sp_access_url%%/code ) will automatically authenticate them for access to ALL of the Posts/Pages included in their transaction. You may customize this email further, by providing details that are specifically geared to your site./p' . "\n" ; echo 'pemstrong*ccBill® Email Receipts ( important change required )*/strong In addition to this email, ccBill® also sends your Customer an codeAPPROVAL/code Receipt. Inside this default Email Receipt that ccBill® sends to each of your Customers, there is a small section that includes a Username/Password; which is normally assigned by ccBill®. However, s2Member\'s integration requires that ccBill® User Management be turned codeoff/code ( i.e. s2Member deals with Specific Post/Page authentication differently ) ... so you WILL need to remove the Username/Password section from the codeAPPROVAL/code email inside your ccBill® account. In your ccBill® account, see: codeAccount Admin - Custom Emails/code./em/p' . "\n" ; /**/ echo 'pem class="ws-menu-page-hilite"* This email configuration is universally applied to all Payment Gateway integrations. [ a href="#" ?/a ]/em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-sp-email-recipients"' . "\n" ; echo 'Specific Post/Page Confirmation Recipients:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_sp_email_recipients" id="ws-plugin--s2member-sp-email-recipients" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "sp_email_recipients" ] ) . '" /br /' . "\n" ; echo 'This is a semicolon ( ; ) delimited list of Recipients. Here is an example:br /' . "\n" ; echo 'code"%%full_name%%" <%%payer_email%%>; admin@example.com; "Webmaster" <webmaster@example.com>/code' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-sp-email-subject"' . "\n" ; echo 'Specific Post/Page Confirmation Email Subject:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'input type="text" name="ws_plugin__s2member_sp_email_subject" id="ws-plugin--s2member-sp-email-subject" value="' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "sp_email_subject" ] ) . '" /br /' . "\n" ; echo 'Subject Line used in the email sent to a Customer after a successful purchase has occurred through ccBill®, for Specific Post/Page Access.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-sp-email-message"' . "\n" ; echo 'Specific Post/Page Confirmation Email Message:' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'textarea name="ws_plugin__s2member_sp_email_message" id="ws-plugin--s2member-sp-email-message" rows="10"' . format_to_edit ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "sp_email_message" ] ) . '/textareabr /' . "\n" ; echo 'Message Body used in the email sent to a Customer after a successful purchase has occurred through ccBill®, for Specific Post/Page Access.br /br /' . "\n" ; echo 'strongYou can also use these special Replacement Codes if you need them:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%sp_access_url%%/code = The full URL ( generated by s2Member ) where the Customer can gain access./li' . "\n" ; echo 'licode%%sp_access_exp%%/code = Human readable expiration for code%%sp_access_url%%/code. Ex: em( link expires in code%%sp_access_exp%%/code )/em./li' . "\n" ; echo 'licode%%txn_id%%/code = The ccBill® Transaction/Subscription ID. ccBill® assigns a unique identifier for every purchase./li' . "\n" ; echo 'licode%%amount%%/code = The full Amount that you charged for Specific Post/Page Access. This value will codealways be 0/code./li' . "\n" ; echo 'licode%%first_name%%/code = The First Name of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%last_name%%/code = The Last Name of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%full_name%%/code = The Full Name ( First & Last ) of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%payer_email%%/code = The Email Address of the Customer who purchased Specific Post/Page Access./li' . "\n" ; echo 'licode%%user_ip%%/code = The Customer\'s IP Address, detected during checkout via code$_SERVER["REMOTE_ADDR"]/code./li' . "\n" ; echo 'licode%%item_number%%/code = The Item Number. Ex: codeemsp:13,24,36:72/em/code ( translates to: codeemsp:comma-delimited IDs:expiration hours/em/code )./li' . "\n" ; echo 'licode%%item_name%%/code = The Item Name ( as provided by the codedesc=""/code attribute in your Shortcode, which briefly describes the Item Number )./li' . "\n" ; echo '/ul' . "\n" ; /**/ echo 'strongCustom Replacement Codes can also be inserted using these instructions:/strong' . "\n" ; echo 'ul' . "\n" ; echo 'licode%%cv0%%/code = The domain of your site, which is passed through the `custom` attribute in your Shortcode./li' . "\n" ; echo 'licode%%cv1%%/code = If you need to track additional custom variables, you can pipe delimit them into the `custom` attribute; inside your Shortcode, like this: codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|cv1|cv2|cv3"/code. You can have an unlimited number of custom variables. Obviously, this is for advanced webmasters; but the functionality has been made available for those who need it./li' . "\n" ; echo '/ul' . "\n" ; echo 'strongThis example uses cv1 to record a special marketing campaign:/strongbr /' . "\n" ; echo 'em( The campaign ( i.e. christmas-promo ) could be referenced using code%%cv1%%/code )/embr /' . "\n" ; echo 'codecustom="' . esc_html ( $_SERVER [ "HTTP_HOST" ] ) . '|christmas-promo"/code' . "\n" ; /**/ echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-group" title="Automatic EOT Behavior"' . "\n" ; /**/ echo 'div class="ws-menu-page-section ws-plugin--s2member-eot-behavior-section"' . "\n" ; echo 'h3ccBill® EOT Behavior ( required, please choose )/h3' . "\n" ; echo 'pEOT = End Of Term. By default, s2Member will demote a paid Member to a Free Subscriber whenever their Subscription term has ended ( i.e. expired ), been cancelled, refunded, charged back to you, etc. s2Member demotes them to a Free Subscriber, so they will no longer have Member Level Access to your site. However, in some cases, you may prefer to have Customer accounts deleted completely, instead of just being demoted. This is where you choose which method works best for your site. If you don\'t want s2Member to take ANY action at all, you can disable s2Member\'s EOT System temporarily, or even completely./p' . "\n" ; echo 'pThe ccBill® DataLink service will assist in notifying s2Member whenever a refund or chargeback occurs. For example, if you issue a refund to an unhappy Customer through ccBill®, s2Member will eventually be notified by the ccBill® DataLink service em( with a 24-48 hour delay )/em, and the account for that Customer will either be demoted to a Free Subscriber, or deleted automatically ( based on your configuration ). ~ Otherwise, under normal circumstances, s2Member will not process an EOT until the User has completely used up the time they paid for./em/p' . "\n" ; /**/ echo 'p id="ws-plugin--s2member-auto-eot-system-enabled-via-cron"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 2 && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ? '' : ' style="display:none;"' ) . 'If you\'d like to run s2Member\'s Auto-EOT System through a more traditional Cron Job; instead of through codeWP-Cron/code, you will need to configure a Cron Job through your server control panel; provided by your hosting company. Set the Cron Job to run codeonce about every 10 minutes to an hour/code. You\'ll want to configure an HTTP Cron Job that loads this URL:br /code' . esc_html ( site_url ( "/?s2member_auto_eot_system_via_cron=1" ) ) . '/code/p' . "\n" ; /**/ echo 'pem class="ws-menu-page-hilite"* These options are universally applied to all Payment Gateway integrations. [ a href="#" ?/a ]/em/p' . "\n" ; /**/ echo 'table class="form-table"' . "\n" ; echo 'tbody' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-auto-eot-system-enabled"' . "\n" ; echo 'Enable s2Member\'s Auto-EOT System?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_auto_eot_system_enabled" id="ws-plugin--s2member-auto-eot-system-enabled"' . "\n" ; /* Very advanced conditionals here. If the Auto-EOT System is NOT running, or NOT fully configured, this will indicate that no option is set - as sort of a built-in acknowledgment/warning in the UI panel. */ echo ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 1 && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) || ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 2 && ( function_exists ( "wp_cron" ) && wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) || ( ! $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] && ( function_exists ( "wp_cron" ) && wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ) ? 'option value=""/option' . "\n" : '' ; echo 'option value="1"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 1 && function_exists ( "wp_cron" ) && wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ? ' selected="selected"' : '' ) . 'Yes ( enable the Auto-EOT System through WP-Cron )/option' . "\n" ; echo ( ! is_multisite ( ) || !c_ws_plugin__s2member_utils_conds:: is_multisite_farm ( ) || is_main_site ( ) ) ? 'option value="2"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] == 2 && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ? ' selected="selected"' : '' ) . 'Yes ( but, I\'ll run it with my own Cron Job )/option' . "\n" : '' ; echo 'option value="0"' . ( ( ! $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "auto_eot_system_enabled" ] && ( ! function_exists ( "wp_cron" ) || ! wp_get_schedule ( "ws_plugin__s2member_auto_eot_system__schedule" ) ) ) ? ' selected="selected"' : '' ) . 'No ( disable the Auto-EOT System )/option' . "\n" ; echo '/selectbr /' . "\n" ; echo 'Recommended setting: ( codeYes / enable via WP-Cron/code )' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-membership-eot-behavior"' . "\n" ; echo 'Membership EOT Behavior ( demote or delete )?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_membership_eot_behavior" id="ws-plugin--s2member-membership-eot-behavior"' . "\n" ; echo 'option value="demote"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "membership_eot_behavior" ] === "demote" ) ? ' selected="selected"' : '' ) . 'Demote ( convert them to a Free Subscriber )/option' . "\n" ; echo 'option value="delete"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "membership_eot_behavior" ] === "delete" ) ? ' selected="selected"' : '' ) . 'Delete ( erase their account completely )/option' . "\n" ; echo '/select' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-triggers-immediate-eot"' . "\n" ; echo 'Refunds/Reversals ( trigger immediate EOT )?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_triggers_immediate_eot" id="ws-plugin--s2member-triggers-immediate-eot"' . "\n" ; echo 'option value="none"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "none" ) ? ' selected="selected"' : '' ) . 'Neither ( I\'ll review these two events manually )/option' . "\n" ; echo 'option value="refunds"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "refunds" ) ? ' selected="selected"' : '' ) . 'Refunds ( refunds ALWAYS trigger an immediate EOT action )/option' . "\n" ; echo 'option value="reversals"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "reversals" ) ? ' selected="selected"' : '' ) . 'Reversals ( chargebacks ALWAYS trigger an immediate EOT action )/option' . "\n" ; echo 'option value="refunds,reversals"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "triggers_immediate_eot" ] === "refunds,reversals" ) ? ' selected="selected"' : '' ) . 'Refunds/Reversals ( ALWAYS trigger an immediate EOT action )/option' . "\n" ; echo '/selectbr /' . "\n" ; echo 'This setting will a href="#" NOT affect/a s2Member\'s internal API Notifications for Refund/Reversal events.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'th' . "\n" ; echo 'label for="ws-plugin--s2member-eot-time-ext-behavior"' . "\n" ; echo 'Fixed-Term Extensions ( auto-extend )?' . "\n" ; echo '/label' . "\n" ; echo '/th' . "\n" ; /**/ echo '/tr' . "\n" ; echo 'tr' . "\n" ; /**/ echo 'td' . "\n" ; echo 'select name="ws_plugin__s2member_eot_time_ext_behavior" id="ws-plugin--s2member-eot-time-ext-behavior"' . "\n" ; echo 'option value="extend"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "eot_time_ext_behavior" ] === "extend" ) ? ' selected="selected"' : '' ) . 'Yes ( default, automatically extend any existing EOT Time )/option' . "\n" ; echo 'option value="reset"' . ( ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "eot_time_ext_behavior" ] === "reset" ) ? ' selected="selected"' : '' ) . 'No ( do NOT extend; s2Member should reset EOT Time completely )/option' . "\n" ; echo '/selectbr /' . "\n" ; echo 'This setting will only affect Buy Now transactions for fixed-term lengths. By default, s2Member will automatically extend any existing EOT Time that a Customer may have.' . "\n" ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; echo '/div' . "\n" ; /**/ echo '/div' . "\n" ; /**/ echo 'div class="ws-menu-page-hr"/div' . "\n" ; /**/ echo 'p class="submit"input type="submit" class="button-primary" value="Save All Changes" //p' . "\n" ; /**/ echo '/form' . "\n" ; /**/ echo '/td' . "\n" ; /**/ echo 'td class="ws-menu-page-table-r"' . "\n" ; c_ws_plugin__s2member_menu_pages_rs:: display ( ) ; echo '/td' . "\n" ; /**/ echo '/tr' . "\n" ; echo '/tbody' . "\n" ; echo '/table' . "\n" ; /**/ echo '/div' . "\n" ; } } } /**/ new c_ws_plugin__s2member_pro_menu_page_ccbill_ops ( ) ; ? [ full view ]s2member-pro\includes\menu-pages\ccbill-ops.inc.php Source Code Documentation Packages ( Overview ) Classes Deprecated Todo Index Source Code(!-- :: s-words --)

Statistics: Posted by System Robot — July 11th, 2011, 5:37 pm


]]>
2011-07-09T06:17:53-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13316&p=25611#p25611 <![CDATA[s2Member v111220 / Source Code: s2member-p...]]>
s2Member v111220
Source Code: s2member-pro\includes\menu-pages\ccbill-ops.inc.php
Docs updated: December 20, 2011, 9:52 am

Open for public discussion.
(!-- s-words :: --)n/a(!-- :: s-words --)

Statistics: Posted by System Robot — July 9th, 2011, 6:17 am


]]>