Community Support Forums — WordPress® ( Users Helping Users ) — 2011-12-20T09:49:49-05:00 http://www.primothemes.com/forums/feed.php?f=40&t=13035 2011-12-20T09:49:49-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=57759#p57759 <![CDATA[s2Member v111220 / Source Code: s2member\i...]]>
s2Member v111220
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: December 20, 2011, 9:49 am

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

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


]]>
2011-12-07T01:02:56-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=55441#p55441 <![CDATA[s2Member v111206 / Source Code: s2member\i...]]>
s2Member v111206
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: December 7, 2011, 1:02 am

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

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


]]>
2011-11-05T19:25:57-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=51815#p51815 <![CDATA[s2Member v111105 / Source Code: s2member\i...]]>
s2Member v111105
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: November 5, 2011, 8:26 pm

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

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


]]>
2011-10-29T20:34:49-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=49910#p49910 <![CDATA[s2Member v111029 / Source Code: s2member\i...]]>
s2Member v111029
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: October 29, 2011, 9:34 pm

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

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


]]>
2011-10-17T15:38:56-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=47704#p47704 <![CDATA[s2Member v111017 / Source Code: s2member\i...]]>
s2Member v111017
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: October 17, 2011, 1:38 pm

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

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


]]>
2011-10-11T14:34:51-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=46104#p46104 <![CDATA[s2Member v111011 / Source Code: s2member\i...]]>
s2Member v111011
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: October 11, 2011, 12:35 pm

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

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


]]>
2011-10-03T15:47:15-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=44235#p44235 <![CDATA[s2Member v111003 / Source Code: s2member\i...]]>
s2Member v111003
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: October 3, 2011, 1:47 pm

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

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


]]>
2011-10-03T03:40:44-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=42942#p42942 <![CDATA[s2Member v111002 / Source Code: s2member\i...]]>
s2Member v111002
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: October 3, 2011, 1:40 am

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

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


]]>
2011-09-27T05:26:05-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=41188#p41188 <![CDATA[s2Member v110927 / Source Code: s2member\i...]]>
s2Member v110927
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: September 27, 2011, 3:26 am

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

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


]]>
2011-09-26T21:02:59-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=39944#p39944 <![CDATA[s2Member v110926 / Source Code: s2member\i...]]>
s2Member v110926
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: September 26, 2011, 7:03 pm

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

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


]]>
2011-09-17T16:19:55-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=38088#p38088 <![CDATA[s2Member v110915 / Source Code: s2member\i...]]>
s2Member v110915
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: September 17, 2011, 2:20 pm

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

Statistics: Posted by System Robot — September 17th, 2011, 4:19 pm


]]>
2011-09-14T01:27:39-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=36669#p36669 <![CDATA[s2Member v110913 / Source Code: s2member\i...]]>
s2Member v110913
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: September 13, 2011, 11:27 pm

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

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


]]>
2011-09-13T12:02:41-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=35397#p35397 <![CDATA[s2Member v110912 / Source Code: s2member\i...]]>
s2Member v110912
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: September 13, 2011, 10:02 am

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

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


]]>
2011-08-15T14:12:46-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=31504#p31504 <![CDATA[s2Member v110815 / Source Code: s2member\i...]]>
s2Member v110815
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: August 15, 2011, 3:13 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\includes\classes\paypal-notify-in.inc.php ?php /** * s2Member's PayPal® IPN handler ( inner processing routines ). * * Copyright: © 2009-2011 * {@link http://www.websharks-inc.com/ WebSharks, Inc.} * ( coded in the USA ) * * Released under the terms of the GNU General Public License. * 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/}. * * @package s2Member\PayPal * @since 3.5 */ if ( realpath ( __FILE__ ) === realpath ( $_SERVER [ "SCRIPT_FILENAME" ] ) ) exit ( "Do not access this file directly." ) ; /**/ if ( ! class_exists ( "c_ws_plugin__s2member_paypal_notify_in" ) ) { /** * s2Member's PayPal® IPN handler ( inner processing routines ). * * @package s2Member\PayPal * @since 3.5 */ class c_ws_plugin__s2member_paypal_notify_in { /** * Handles PayPal® IPN processing. * * These same routines also handle s2Member Pro/PayPal® Pro operations; * giving you the ability *( as needed )* to Hook into these routines using * WordPress® Hooks/Filters; as seen in the source code below. * * Please do NOT modify the source code directly. * Instead, use WordPress® Hooks/Filters. * * For example, if you'd like to add your own custom conditionals, use: * ``add_filter ("ws_plugin__s2member_during_paypal_notify_conditionals", "your_function");`` * * @package s2Member\PayPal * @since 3.5 * * @attaches-to: ``add_action("init");`` * * @return null Or exits script execution after handling IPN procesing. */ public static function paypal_notify ( ) { global $current_site , $current_blog ; /* For Multisite support. */ /**/ do_action ( "ws_plugin__s2member_before_paypal_notify" , get_defined_vars ( ) ) ; /**/ if ( ! empty ( $_GET [ "s2member_paypal_notify" ] ) && ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "paypal_business" ] || ! empty ( $_GET [ "s2member_paypal_proxy" ] ) ) ) { @ ignore_user_abort ( true ) ; /* Important. Continue processing even if/when the connection is broken by the sending party. */ /**/ include_once ABSPATH . "wp-admin/includes/admin.php" ; /* Get administrative functions. Needed for `wp_delete_user()`. */ /**/ c_ws_plugin__s2member_email_configs:: email_config_release ( ) ; /* Release Filters on wp_mail() / From: headers. */ /**/ if ( is_array ( $paypal = c_ws_plugin__s2member_paypal_utilities:: paypal_postvars ( ) ) && ( $_paypal = $paypal ) && ( $_paypal_s = serialize ( $_paypal ) ) ) { $paypal [ "s2member_log" ] [ ] = "IPN received on: " . date ( "D M j, Y g:i:s a T" ) ; $paypal [ "s2member_log" ] [ ] = "s2Member POST vars verified " . ( ( ! empty ( $paypal [ "proxy_verified" ] ) ) ? "with a Proxy Key" : "through a POST back to PayPal®." ) ; /**/ $payment_status_issues = "/^(failed|denied|expired|refunded|partially_refunded|reversed|reversal|canceled_reversal|voided)$/i" ; /**/ $paypal [ "subscr_gateway" ] = ( ! empty ( $_GET [ "s2member_paypal_proxy" ] ) ) ? esc_html ( trim ( stripslashes ( $_GET [ "s2member_paypal_proxy" ] ) ) ) : "paypal" ; /**/ if ( empty ( $paypal [ "custom" ] ) && ! empty ( $paypal [ "recurring_payment_id" ] ) ) /* Lookup on Recurring Profiles? */ $paypal [ "custom" ] = c_ws_plugin__s2member_utils_users:: get_user_custom_with ( $paypal [ "recurring_payment_id" ] ) ; /**/ if ( ! empty ( $paypal [ "custom" ] ) && preg_match ( "/^" . preg_quote ( preg_replace ( "/\:([0-9]+)$/" , "" , $_SERVER [ "HTTP_HOST" ] ) , "/" ) . "/i" , $paypal [ "custom" ] ) ) { $paypal [ "s2member_log" ] [ ] = "s2Member originating domain ( `\$_SERVER[\"HTTP_HOST\"]` ) validated." ; /**/ eval ( 'foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;' ) ; if ( ! apply_filters ( "ws_plugin__s2member_during_paypal_notify_conditionals" , false , get_defined_vars ( ) ) ) { unset ( $__refs , $__v ) ; /* Unset defined __refs, __v. */ /**/ if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_virtual_terminal:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_express_checkout:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_cart:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_send_money:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_web_accept_sp:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_wa_ccaps_wo_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_subscr_or_wa_w_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_rec_profile_creation_w_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_subscr_modify_w_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_subscr_or_rp_payment_w_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_subscr_or_rp_payment_failed_w_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_subscr_or_rp_cancellation_w_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_subscr_or_rp_eots_w_level:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else if ( ( $_paypal_cp = c_ws_plugin__s2member_paypal_notify_in_sp_refund_reversal:: cp ( get_defined_vars ( ) ) ) ) $paypal = $_paypal_cp ; /**/ else /* Ignoring this IPN request. The txn_type/status does NOT require any action. */ $paypal [ "s2member_log" ] [ ] = "Ignoring this IPN request. The `txn_type/status` does NOT require any action on the part of s2Member." ; } else /* Else a custom conditional has been applied by Filters. */ unset ( $__refs , $__v ) ; /* Unset defined __refs, __v. */ } /**/ else if ( ! empty ( $paypal [ "txn_type" ] ) && preg_match ( "/^recurring_payment_profile_cancel$/i" , $paypal [ "txn_type" ] ) ) { $paypal [ "s2member_log" ] [ ] = "Transaction type ( `recurring_payment_profile_cancel` ), but there is no match to an existing account; so verification of `\$_SERVER[\"HTTP_HOST\"]` was not possible." ; $paypal [ "s2member_log" ] [ ] = "It's likely this account was just upgraded/downgraded by s2Member Pro; so the Subscr. ID has probably been updated on-site; nothing to worry about here." ; } /**/ else if ( ! empty ( $paypal [ "txn_type" ] ) && preg_match ( "/^recurring_/i" , $paypal [ "txn_type" ] ) ) /* Otherwise, is this a ^recurring_ txn_type? */ $paypal [ "s2member_log" ] [ ] = "Transaction type ( `^recurring_?` ), but there is no match to an existing account; so verification of `\$_SERVER[\"HTTP_HOST\"]` was not possible." ; /**/ else /* Else, use the default ``$_SERVER["HTTP_HOST"]`` error. */ $paypal [ "s2member_log" ] [ ] = "Unable to verify `\$_SERVER[\"HTTP_HOST\"]`. Please check the `custom` value in your Button Code. It MUST start with your domain name." ; } /**/ else /* Extensive log reporting here. This is an area where many site owners find trouble. Depending on server configuration; remote HTTPS connections may fail. */ { $paypal [ "s2member_log" ] [ ] = "Unable to verify \$_POST vars. This is most likely related to an invalid configuration of s2Member, or a problem with server compatibility." ; $paypal [ "s2member_log" ] [ ] = "If you're absolutely SURE that your configuration is valid, you may want to run some tests on your server, just to be sure \$_POST variables are populated, and that your server is able to connect/communicate with your Payment Gateway over an HTTPS connection." ; $paypal [ "s2member_log" ] [ ] = "s2Member uses the `WP_Http` class for remote connections; which will try to use `cURL` first, and then fall back on the `FOPEN` method when `cURL` is not available. On a Windows® server, you may have to disable your `cURL` extension; and instead, set `allow_url_fopen = yes` in your php.ini file. The `cURL` extension (usually) does NOT support SSL connections on a Windows® server." ; $paypal [ "s2member_log" ] [ ] = "Please see this thread: `http://www.primothemes.com/forums/viewtopic.php?f=36&t=2636` for details regarding the ideal server configuration for s2Member." ; $paypal [ "s2member_log" ] [ ] = var_export ( $_REQUEST , true ) ; /* Recording _POST + _GET vars for analysis and debugging. */ } /* Add IPN proxy ( when available ) to the ``$paypal`` array. */ if ( ! empty ( $_GET [ "s2member_paypal_proxy" ] ) ) $paypal [ "s2member_paypal_proxy" ] = $_GET [ "s2member_paypal_proxy" ] ; /* Add IPN proxy use vars ( when available ) to the ``$paypal`` array. */ if ( ! empty ( $_GET [ "s2member_paypal_proxy_use" ] ) ) $paypal [ "s2member_paypal_proxy_use" ] = $_GET [ "s2member_paypal_proxy_use" ] ; /* Also add IPN proxy self-verification ( when available ) to the ``$paypal`` array. */ if ( ! empty ( $_GET [ "s2member_paypal_proxy_verification" ] ) ) $paypal [ "s2member_paypal_proxy_verification" ] = $_GET [ "s2member_paypal_proxy_verification" ] ; /* If debugging/logging is enabled; we need to append ``$paypal`` to the log file. Logging now supports Multisite Networking as well. */ $logv = c_ws_plugin__s2member_utilities:: ver_details ( ) ; $logm = c_ws_plugin__s2member_utilities:: mem_details ( ) ; $log4 = $_SERVER [ "HTTP_HOST" ] . $_SERVER [ "REQUEST_URI" ] . "\nUser-Agent: " . $_SERVER [ "HTTP_USER_AGENT" ] ; $log4 = ( is_multisite ( ) && ! is_main_site ( ) ) ? ( $_log4 = $current_blog - domain . $current_blog - path ) . "\n" . $log4 : $log4 ; $log2 = ( is_multisite ( ) && ! is_main_site ( ) ) ? "paypal-ipn-4-" . trim ( preg_replace ( "/[^a-z0-9]/i" , "-" , $_log4 ) , "-" ) . ".log" : "paypal-ipn.log" ; /**/ if ( $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "o" ] [ "gateway_debug_logs" ] ) if ( is_dir ( $logs_dir = $GLOBALS [ "WS_PLUGIN__" ] [ "s2member" ] [ "c" ] [ "logs_dir" ] ) ) if ( is_writable ( $logs_dir ) && c_ws_plugin__s2member_utils_logs:: archive_oversize_log_files ( ) ) file_put_contents ( $logs_dir . "/" . $log2 , $logv . "\n" . $logm . "\n" . $log4 . "\n" . var_export ( $paypal , true ) . "\n \n" , FILE_APPEND) ; /**/ eval ( 'foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;' ) ; do_action ( "ws_plugin__s2member_during_paypal_notify" , get_defined_vars ( ) ) ; unset ( $__refs , $__v ) ; /* Unset defined __refs, __v. */ /**/ header ( "HTTP/1.0 200 OK" ) ; /* Send a 200 OK status header. */ header ( "Content-Type: text/plain; charset=utf-8" ) ; /* With text/plain ( supporting a possible return URL ). */ exit ( ( ( ! empty ( $paypal [ "s2member_paypal_proxy_return_url" ] ) ) ? $paypal [ "s2member_paypal_proxy_return_url" ] : "" ) ) ; } /**/ eval ( 'foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;' ) ; do_action ( "ws_plugin__s2member_after_paypal_notify" , get_defined_vars ( ) ) ; unset ( $__refs , $__v ) ; /* Unset defined __refs, __v. */ } } } ? [ full view ]s2member\includes\classes\paypal-notify-in.inc.php Source Code Documentation Packages ( Overview ) Classes Deprecated Todo Index Source Code(!-- :: s-words --)

Statistics: Posted by System Robot — August 15th, 2011, 2:12 pm


]]>
2011-07-11T17:28:47-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=27698#p27698 <![CDATA[s2Member v110710 / Source Code: s2member\i...]]>
s2Member v110710
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: July 11, 2011, 6:28 pm

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

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


]]>
2011-07-09T06:08:48-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13035&p=25330#p25330 <![CDATA[s2Member v111220 / Source Code: s2member\i...]]>
s2Member v111220
Source Code: s2member\includes\classes\paypal-notify-in.inc.php
Docs updated: December 20, 2011, 9:49 am

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

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


]]>