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

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

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


]]>
2011-12-07T01:03:47-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=55525#p55525 <![CDATA[s2Member v111206 / Source Code: s2member\i...]]>
s2Member v111206
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: December 7, 2011, 1:03 am

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

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


]]>
2011-11-05T19:26:35-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=51899#p51899 <![CDATA[s2Member v111105 / Source Code: s2member\i...]]>
s2Member v111105
Source Code: s2member\includes\classes\utils-users.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:26 pm


]]>
2011-10-29T20:35:56-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=49994#p49994 <![CDATA[s2Member v111029 / Source Code: s2member\i...]]>
s2Member v111029
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: October 29, 2011, 9:36 pm

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

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


]]>
2011-10-17T15:39:43-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=47788#p47788 <![CDATA[s2Member v111017 / Source Code: s2member\i...]]>
s2Member v111017
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: October 17, 2011, 1:39 pm

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

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


]]>
2011-10-11T14:35:41-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=46189#p46189 <![CDATA[s2Member v111011 / Source Code: s2member\i...]]>
s2Member v111011
Source Code: s2member\includes\classes\utils-users.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:35 pm


]]>
2011-10-03T15:48:06-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=44319#p44319 <![CDATA[s2Member v111003 / Source Code: s2member\i...]]>
s2Member v111003
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: October 3, 2011, 1:48 pm

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

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


]]>
2011-10-03T03:41:42-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=43026#p43026 <![CDATA[s2Member v111002 / Source Code: s2member\i...]]>
s2Member v111002
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: October 3, 2011, 1:41 am

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

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


]]>
2011-09-27T05:27:01-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=41272#p41272 <![CDATA[s2Member v110927 / Source Code: s2member\i...]]>
s2Member v110927
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: September 27, 2011, 3:27 am

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

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


]]>
2011-09-26T21:03:37-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=40028#p40028 <![CDATA[s2Member v110926 / Source Code: s2member\i...]]>
s2Member v110926
Source Code: s2member\includes\classes\utils-users.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:03 pm


]]>
2011-09-17T16:21:04-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=38170#p38170 <![CDATA[s2Member v110915 / Source Code: s2member\i...]]>
s2Member v110915
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: September 17, 2011, 2:21 pm

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

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


]]>
2011-09-14T01:28:12-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=36751#p36751 <![CDATA[s2Member v110913 / Source Code: s2member\i...]]>
s2Member v110913
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: September 13, 2011, 11:28 pm

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

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


]]>
2011-09-13T12:03:18-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=35479#p35479 <![CDATA[s2Member v110912 / Source Code: s2member\i...]]>
s2Member v110912
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: September 13, 2011, 10:03 am

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

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


]]>
2011-08-15T15:14:43-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=31599#p31599 <![CDATA[s2Member v110815 / Source Code: s2member\i...]]>
s2Member v110815
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: August 15, 2011, 4:14 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\utils-users.inc.php ?php /** * User utilities. * * 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\Utilities * @since 3.5 */ if ( realpath ( __FILE__ ) === realpath ( $_SERVER [ "SCRIPT_FILENAME" ] ) ) exit ( "Do not access this file directly." ) ; /**/ if ( ! class_exists ( "c_ws_plugin__s2member_utils_users" ) ) { /** * User utilities. * * @package s2Member\Utilities * @since 3.5 */ class c_ws_plugin__s2member_utils_users { /** * Determines the total Users/Members in the database. * * @package s2Member\Utilities * @since 3.5 * * @return int Number of Users in the database, total. */ public static function users_in_database ( ) { global $wpdb ; /* Global database object reference. */ /**/ $q1 = mysql_query ( "SELECT SQL_CALC_FOUND_ROWS `" . $wpdb - users . "`.`ID` FROM `" . $wpdb - users . "`, `" . $wpdb - usermeta . "` WHERE `" . $wpdb - users . "`.`ID` = `" . $wpdb - usermeta . "`.`user_id` AND `" . $wpdb - usermeta . "`.`meta_key` = '" . esc_sql ( $wpdb - prefix . "capabilities" ) . "' LIMIT 1" , $wpdb - dbh ) ; $q2 = mysql_query ( "SELECT FOUND_ROWS()" , $wpdb - dbh ) ; /**/ $users = (int) mysql_result ( $q2 , 0 ) ; /**/ mysql_free_result ( $q2 ) ; mysql_free_result ( $q1 ) ; /**/ return $users ; } /** * Obtains Custom String for an existing Member, referenced by a Subscr. or Transaction ID. * * A second lookup parameter can be provided as well *( optional )*. * * @package s2Member\Utilities * @since 3.5 * * @param str $subscr_or_txn_id Either a Paid Subscr. ID, or a Paid Transaction ID. * @param str $os0 Optional. A second lookup parameter, usually the `os0` value for PayPal® integrations. * @return str|bool The Custom String value on success, else false on failure. */ public static function get_user_custom_with ( $subscr_or_txn_id = FALSE , $os0 = FALSE ) { global $wpdb ; /* Need global DB obj. */ /**/ if ( $subscr_or_txn_id && $os0 ) /* This case includes some additional routines that can use the $os0 value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND (`meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' OR `meta_value` = '" . $wpdb - escape ( $os0 ) . "') LIMIT 1" ) ) /**/ || ( $q = $wpdb - get_row ( "SELECT `ID` AS `user_id` FROM `" . $wpdb - users . "` WHERE `ID` = '" . $wpdb - escape ( $os0 ) . "' LIMIT 1" ) ) ) if ( ( $custom = get_user_option ( "s2member_custom" , $q - user_id ) ) ) return $custom ; } else if ( $subscr_or_txn_id ) /* Otherwise, if all we have is a Subscr./Txn. ID value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND `meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' LIMIT 1" ) ) ) if ( ( $custom = get_user_option ( "s2member_custom" , $q - user_id ) ) ) return $custom ; } /**/ return false ; /* Otherwise, return false. */ } /** * Obtains the User ID for an existing Member, referenced by a Subscr. or Transaction ID. * * A second lookup parameter can be provided as well *( optional )*. * * @package s2Member\Utilities * @since 3.5 * * @param str $subscr_or_txn_id Either a Paid Subscr. ID, or a Paid Transaction ID. * @param str $os0 Optional. A second lookup parameter, usually the `os0` value for PayPal® integrations. * @return int|bool A WordPress® User ID on success, else false on failure. */ public static function get_user_id_with ( $subscr_or_txn_id = FALSE , $os0 = FALSE ) { global $wpdb ; /* Need global DB obj. */ /**/ if ( $subscr_or_txn_id && $os0 ) /* This case includes some additional routines that can use the $os0 value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND (`meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' OR `meta_value` = '" . $wpdb - escape ( $os0 ) . "') LIMIT 1" ) ) /**/ || ( $q = $wpdb - get_row ( "SELECT `ID` AS `user_id` FROM `" . $wpdb - users . "` WHERE `ID` = '" . $wpdb - escape ( $os0 ) . "' LIMIT 1" ) ) ) return $q - user_id ; } else if ( $subscr_or_txn_id ) /* Otherwise, if all we have is a Subscr./Txn. ID value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND `meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' LIMIT 1" ) ) ) return $q - user_id ; } /**/ return false ; /* Otherwise, return false. */ } /** * Obtains the Email Address for an existing Member, referenced by a Subscr. or Transaction ID. * * A second lookup parameter can be provided as well *( optional )*. * * @package s2Member\Utilities * @since 3.5 * * @param str $subscr_or_txn_id Either a Paid Subscr. ID, or a Paid Transaction ID. * @param str $os0 Optional. A second lookup parameter, usually the `os0` value for PayPal® integrations. * @return int|bool A User's Email Address on success, else false on failure. */ public static function get_user_email_with ( $subscr_or_txn_id = FALSE , $os0 = FALSE ) { global $wpdb ; /* Need global DB obj. */ /**/ if ( $subscr_or_txn_id && $os0 ) /* This case includes some additional routines that can use the $os0 value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND (`meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' OR `meta_value` = '" . $wpdb - escape ( $os0 ) . "') LIMIT 1" ) ) /**/ || ( $q = $wpdb - get_row ( "SELECT `ID` AS `user_id` FROM `" . $wpdb - users . "` WHERE `ID` = '" . $wpdb - escape ( $os0 ) . "' LIMIT 1" ) ) ) if ( is_object ( $user = new WP_User ( $q - user_id ) ) && $user - ID && ( $email = $user - user_email ) ) return $email ; } else if ( $subscr_or_txn_id ) /* Otherwise, if all we have is a Subscr./Txn. ID value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND `meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' LIMIT 1" ) ) ) if ( is_object ( $user = new WP_User ( $q - user_id ) ) && $user - ID && ( $email = $user - user_email ) ) return $email ; } /**/ return false ; /* Otherwise, return false. */ } /** * Retrieves IPN signup vars & validates their Subscription ID. * * The ``$user_id`` can be passed in directly; or a lookup can be performed with ``$subscr_id``. * * @package s2Member\Utilities * @since 3.5 * * @param int|str $user_id Optional. A numeric WordPress® User ID. * @param str $subscr_id Optional. Can be used instead of passing in a ``$user_id``. * If ``$subscr_id`` is passed in, it has to match the one found inside the resulting IPN Signup Vars collected by this routine. * If neither of these parameters are passed in, the current User is assumed instead, obtained through ``wp_get_current_user()``. * @return array|bool A User's IPN Signup Vars on success, else false on failure. */ public static function get_user_ipn_signup_vars ( $user_id = FALSE , $subscr_id = FALSE ) { if ( $user_id || ( $subscr_id && ( $user_id = c_ws_plugin__s2member_utils_users:: get_user_id_with ( $subscr_id ) ) ) || ( ! $user_id && ! $subscr_id && is_object ( $user = wp_get_current_user ( ) ) && ( $user_id = $user - ID ) ) ) { if ( ( $_subscr_id = get_user_option ( "s2member_subscr_id" , $user_id ) ) && ( ! $subscr_id || $subscr_id === $_subscr_id ) && ( $subscr_id = $_subscr_id ) ) if ( is_array ( $ipn_signup_vars = get_user_option ( "s2member_ipn_signup_vars" , $user_id ) ) ) if ( $ipn_signup_vars [ "subscr_id" ] === $subscr_id ) return $ipn_signup_vars ; } /**/ return false ; /* Otherwise, return false. */ } /** * Obtains a User's Paid Subscr. ID *( if available )*; otherwise their WP User ID. * * If ``$user`` IS passed in, this function will return data from a specific ``$user``, or fail if not possible. * If ``$user`` is NOT passed in, check the current User/Member. * * @package s2Member\Utilities * @since 3.5 * * @param obj $user Optional. A `WP_User` object. * In order to check the current User, you must call this function with no arguments/parameters. * @return int|str|bool If possible, the User's Paid Subscr. ID, else their WordPress® User ID, else false. */ public static function get_user_subscr_or_wp_id ( $user = FALSE ) { if ( ( func_num_args ( ) && ( ! is_object ( $user ) || ! $user - ID ) ) || ( ! func_num_args ( ) && ! $user && ( ! is_object ( $user = ( is_user_logged_in ( ) ) ? wp_get_current_user ( ) : false ) || ! $user - ID ) ) ) { return false ; /* The $user was passed in but is NOT an object; or nobody is logged in. */ } else /* Else return Paid Subscr. ID ( if available ), otherwise return their WP database User ID. */ return ( $subscr_id = get_user_option ( "s2member_subscr_id" , $user - ID ) ) ? $subscr_id : $user - ID ; } /** * Determines whether or not a Username/Email is already in the database. * * Returns the WordPress® User ID if they exist. * * @package s2Member\Utilities * @since 3.5 * * @param str $user_login A User's Username. * @param str $user_email A User's Email Address. * @return int|bool If exists, a WordPress® User ID, else false. */ public static function user_login_email_exists ( $user_login = FALSE , $user_email = FALSE ) { global $wpdb ; /* Global database object reference. */ /**/ if ( $user_login && $user_email ) /* Only if we have both of these. */ if ( ( $user_id = $wpdb - get_var ( "SELECT `ID` FROM `" . $wpdb - users . "` WHERE `user_login` LIKE '" . esc_sql ( like_escape ( $user_login ) ) . "' AND `user_email` LIKE '" . esc_sql ( like_escape ( $user_email ) ) . "' LIMIT 1" ) ) ) return $user_id ; /* Return the associated WordPress® ID. */ /**/ return false ; /* Else return false. */ } /** * Determines whether or not a Username/Email is already in the database for this Blog. * * Returns the WordPress® User ID if they exist. * * @package s2Member\Utilities * @since 3.5 * * @param str $user_login A User's Username. * @param str $user_email A User's Email Address. * @param int|str $blog_id A numeric WordPress® Blog ID. * @return int|bool If exists *( but not on Blog )*, a WordPress® User ID, else false. */ public static function ms_user_login_email_exists_but_not_on_blog ( $user_login = FALSE , $user_email = FALSE , $blog_id = FALSE ) { if ( $user_login && $user_email ) /* Only if we have both of these. */ if ( is_multisite ( ) && ( $user_id = c_ws_plugin__s2member_utils_users:: user_login_email_exists ( $user_login , $user_email ) ) && ! is_user_member_of_blog ( $user_id , $blog_id ) ) return $user_id ; /**/ return false ; /* Else return false. */ } /** * Determines whether or not a Username/Email is already in the database for this Blog. * * This is an alias for: `c_ws_plugin__s2member_utils_users::ms_user_login_email_exists_but_not_on_blog()`. * * Returns the WordPress® User ID if they exist. * * @package s2Member\Utilities * @since 3.5 * * @param str $user_login A User's Username. * @param str $user_email A User's Email Address. * @param int|str $blog_id A numeric WordPress® Blog ID. * @return int|bool If exists *( but not on Blog )*, a WordPress® User ID, else false. */ public static function ms_user_login_email_can_join_blog ( $user_login = FALSE , $user_email = FALSE , $blog_id = FALSE ) { return c_ws_plugin__s2member_utils_users:: ms_user_login_email_exists_but_not_on_blog ( $user_login , $user_email , $blog_id ) ; } /** * Retrieves a field value. Also supports Custom Fields. * * @package s2Member\Utilities * @since 3.5 * * @param str $field_id Required. A unique Custom Registration Field ID, that you configured with s2Member. * Or, this could be set to any property that exists on the WP_User object for a particular User; * ( i.e. `id`, `ID`, `user_login`, `user_email`, `first_name`, `last_name`, `display_name`, `ip`, `IP`, * `s2member_registration_ip`, `s2member_custom`, `s2member_subscr_id`, `s2member_subscr_or_wp_id`, * `s2member_subscr_gateway`, `s2member_custom_fields`, `s2member_file_download_access_log`, * `s2member_auto_eot_time`, `s2member_last_payment_time`, `s2member_paid_registration_times`, * `s2member_access_role`, `s2member_access_level`, `s2member_access_label`, * `s2member_access_ccaps`, etc, etc. ). * @param int|str $user_id Optional. Defaults to the current User's ID. * @return mixed The value of the requested field, or false if the field does not exist. * * @todo Create a function that returns extensive details regarding Custom Registration Fields configured with s2Member. * Until then, you can inspect this array: ``json_decode ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"], true)``. */ public static function get_user_field ( $field_id = FALSE , $user_id = FALSE ) /* Very powerful function here. */ { global $wpdb ; /* Global database object reference. We'll need this to obtain the right database prefix. */ /**/ $current_user = wp_get_current_user ( ) ; /* Current User's object ( used when/if `$user_id` is empty ). */ /**/ if ( is_object ( $user = ( $user_id ) ? new WP_User ( $user_id ) : $current_user ) && ( $user_id = $user - ID ) ) { if ( isset ( $user - $field_id ) ) /* Immediate User object property? ( most likely ) */ return $user - $field_id ; /**/ else if ( isset ( $user - data - $field_id ) ) /* Also try the data object property. */ return $user - data - $field_id ; /**/ else if ( isset ( $user - { $wpdb - prefix . $field_id } ) ) /* Immediate prefixed? */ return $user - { $wpdb - prefix . $field_id } ; /**/ else if ( isset ( $user - data - { $wpdb - prefix . $field_id } ) ) /* Data prefixed? */ return $user - data - { $wpdb - prefix . $field_id } ; /**/ else if ( strcasecmp ( $field_id , "full_name" ) === 0 ) /* First/last full name? */ return trim ( $user - first_name . " " . $user - last_name ) ; /**/ else if ( preg_match ( "/^(email|user_email)$/i" , $field_id ) ) /* Email address? */ return $user - user_email ; /**/ else if ( preg_match ( "/^(login|user_login)$/i" , $field_id ) ) /* Username / login? */ return $user - user_login ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_role" ) === 0 ) /* Role name/ID? */ return c_ws_plugin__s2member_user_access:: user_access_role ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_level" ) === 0 ) /* Access Level? */ return c_ws_plugin__s2member_user_access:: user_access_level ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_label" ) === 0 ) /* Access Label? */ return c_ws_plugin__s2member_user_access:: user_access_label ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_ccaps" ) === 0 ) /* Custom Caps? */ return c_ws_plugin__s2member_user_access:: user_access_ccaps ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "ip" ) === 0 && is_object ( $current_user ) && $current_user - ID === $user_id ) return $_SERVER [ "REMOTE_ADDR" ] ; /* The current User's IP address, right now. */ /**/ else if ( strcasecmp ( $field_id , "s2member_registration_ip" ) === 0 || strcasecmp ( $field_id , "reg_ip" ) === 0 || strcasecmp ( $field_id , "ip" ) === 0 ) return get_user_option ( "s2member_registration_ip" , $user_id ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_subscr_or_wp_id" ) === 0 ) return ( $subscr_id = get_user_option ( "s2member_subscr_id" , $user_id ) ) ? $subscr_id : $user_id ; /**/ else if ( is_array ( $fields = get_user_option ( "s2member_custom_fields" , $user_id ) ) ) if ( isset ( $fields [ preg_replace ( "/[^a-z0-9]/i" , "_" , strtolower ( $field_id ) ) ] ) ) return $fields [ preg_replace ( "/[^a-z0-9]/i" , "_" , strtolower ( $field_id ) ) ] ; } /**/ return false ; /* Default, return false. */ } } } ? [ full view ]s2member\includes\classes\utils-users.inc.php Source Code Documentation Packages ( Overview ) Classes Deprecated Todo Index Source Code(!-- :: s-words --)

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


]]>
2011-07-11T17:30:51-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=27768#p27768 <![CDATA[s2Member v110710 / Source Code: s2member\i...]]>
s2Member v110710
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: July 11, 2011, 6:30 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\utils-users.inc.php ?php /** * User utilities. * * 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\Utilities * @since 3.5 */ if ( realpath ( __FILE__ ) === realpath ( $_SERVER [ "SCRIPT_FILENAME" ] ) ) exit ( "Do not access this file directly." ) ; /**/ if ( ! class_exists ( "c_ws_plugin__s2member_utils_users" ) ) { /** * User utilities. * * @package s2Member\Utilities * @since 3.5 */ class c_ws_plugin__s2member_utils_users { /** * Determines the total Users/Members in the database. * * @package s2Member\Utilities * @since 3.5 * * @return int Number of Users in the database, total. */ public static function users_in_database ( ) { global $wpdb ; /* Global database object reference. */ /**/ $q1 = mysql_query ( "SELECT SQL_CALC_FOUND_ROWS `" . $wpdb - users . "`.`ID` FROM `" . $wpdb - users . "`, `" . $wpdb - usermeta . "` WHERE `" . $wpdb - users . "`.`ID` = `" . $wpdb - usermeta . "`.`user_id` AND `" . $wpdb - usermeta . "`.`meta_key` = '" . esc_sql ( $wpdb - prefix . "capabilities" ) . "' LIMIT 1" , $wpdb - dbh ) ; $q2 = mysql_query ( "SELECT FOUND_ROWS()" , $wpdb - dbh ) ; /**/ $users = (int) mysql_result ( $q2 , 0 ) ; /**/ mysql_free_result ( $q2 ) ; mysql_free_result ( $q1 ) ; /**/ return $users ; } /** * Obtains Custom String for an existing Member, referenced by a Subscr. or Transaction ID. * * A second lookup parameter can be provided as well *( optional )*. * * @package s2Member\Utilities * @since 3.5 * * @param str $subscr_or_txn_id Either a Paid Subscr. ID, or a Paid Transaction ID. * @param str $os0 Optional. A second lookup parameter, usually the `os0` value for PayPal® integrations. * @return str|bool The Custom String value on success, else false on failure. */ public static function get_user_custom_with ( $subscr_or_txn_id = FALSE , $os0 = FALSE ) { global $wpdb ; /* Need global DB obj. */ /**/ if ( $subscr_or_txn_id && $os0 ) /* This case includes some additional routines that can use the $os0 value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND (`meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' OR `meta_value` = '" . $wpdb - escape ( $os0 ) . "') LIMIT 1" ) ) /**/ || ( $q = $wpdb - get_row ( "SELECT `ID` AS `user_id` FROM `" . $wpdb - users . "` WHERE `ID` = '" . $wpdb - escape ( $os0 ) . "' LIMIT 1" ) ) ) if ( ( $custom = get_user_option ( "s2member_custom" , $q - user_id ) ) ) return $custom ; } else if ( $subscr_or_txn_id ) /* Otherwise, if all we have is a Subscr./Txn. ID value. */ { if ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND `meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' LIMIT 1" ) ) if ( ( $custom = get_user_option ( "s2member_custom" , $q - user_id ) ) ) return $custom ; } /**/ return false ; /* Otherwise, return false. */ } /** * Obtains the User ID for an existing Member, referenced by a Subscr. or Transaction ID. * * A second lookup parameter can be provided as well *( optional )*. * * @package s2Member\Utilities * @since 3.5 * * @param str $subscr_or_txn_id Either a Paid Subscr. ID, or a Paid Transaction ID. * @param str $os0 Optional. A second lookup parameter, usually the `os0` value for PayPal® integrations. * @return int|bool A WordPress® User ID on success, else false on failure. */ public static function get_user_id_with ( $subscr_or_txn_id = FALSE , $os0 = FALSE ) { global $wpdb ; /* Need global DB obj. */ /**/ if ( $subscr_or_txn_id && $os0 ) /* This case includes some additional routines that can use the $os0 value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND (`meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' OR `meta_value` = '" . $wpdb - escape ( $os0 ) . "') LIMIT 1" ) ) /**/ || ( $q = $wpdb - get_row ( "SELECT `ID` AS `user_id` FROM `" . $wpdb - users . "` WHERE `ID` = '" . $wpdb - escape ( $os0 ) . "' LIMIT 1" ) ) ) return $q - user_id ; } else if ( $subscr_or_txn_id ) /* Otherwise, if all we have is a Subscr./Txn. ID value. */ { if ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND `meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' LIMIT 1" ) ) return $q - user_id ; } /**/ return false ; /* Otherwise, return false. */ } /** * Obtains the Email Address for an existing Member, referenced by a Subscr. or Transaction ID. * * A second lookup parameter can be provided as well *( optional )*. * * @package s2Member\Utilities * @since 3.5 * * @param str $subscr_or_txn_id Either a Paid Subscr. ID, or a Paid Transaction ID. * @param str $os0 Optional. A second lookup parameter, usually the `os0` value for PayPal® integrations. * @return int|bool A User's Email Address on success, else false on failure. */ public static function get_user_email_with ( $subscr_or_txn_id = FALSE , $os0 = FALSE ) { global $wpdb ; /* Need global DB obj. */ /**/ if ( $subscr_or_txn_id && $os0 ) /* This case includes some additional routines that can use the $os0 value. */ { if ( ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND (`meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' OR `meta_value` = '" . $wpdb - escape ( $os0 ) . "') LIMIT 1" ) ) /**/ || ( $q = $wpdb - get_row ( "SELECT `ID` AS `user_id` FROM `" . $wpdb - users . "` WHERE `ID` = '" . $wpdb - escape ( $os0 ) . "' LIMIT 1" ) ) ) if ( is_object ( $user = new WP_User ( $q - user_id ) ) && $user - ID && ( $email = $user - user_email ) ) return $email ; } else if ( $subscr_or_txn_id ) /* Otherwise, if all we have is a Subscr./Txn. ID value. */ { if ( $q = $wpdb - get_row ( "SELECT `user_id` FROM `" . $wpdb - usermeta . "` WHERE (`meta_key` = '" . $wpdb - prefix . "s2member_subscr_id' OR `meta_key` = '" . $wpdb - prefix . "s2member_first_payment_txn_id') AND `meta_value` = '" . $wpdb - escape ( $subscr_or_txn_id ) . "' LIMIT 1" ) ) if ( is_object ( $user = new WP_User ( $q - user_id ) ) && $user - ID && ( $email = $user - user_email ) ) return $email ; } /**/ return false ; /* Otherwise, return false. */ } /** * Retrieves IPN signup vars & validates their Subscription ID. * * The ``$user_id`` can be passed in directly; or a lookup can be performed with ``$subscr_id``. * * @package s2Member\Utilities * @since 3.5 * * @param int|str $user_id Optional. A numeric WordPress® User ID. * @param str $subscr_id Optional. Can be used instead of passing in a ``$user_id``. * If ``$subscr_id`` is passed in, it has to match the one found inside the resulting IPN Signup Vars collected by this routine. * If neither of these parameters are passed in, the current User is assumed instead, obtained through ``wp_get_current_user()``. * @return array|bool A User's IPN Signup Vars on success, else false on failure. */ public static function get_user_ipn_signup_vars ( $user_id = FALSE , $subscr_id = FALSE ) { if ( $user_id || ( $subscr_id && ( $user_id = c_ws_plugin__s2member_utils_users:: get_user_id_with ( $subscr_id ) ) ) || ( ! $user_id && ! $subscr_id && is_object ( $user = wp_get_current_user ( ) ) && ( $user_id = $user - ID ) ) ) { if ( ( $_subscr_id = get_user_option ( "s2member_subscr_id" , $user_id ) ) && ( ! $subscr_id || $subscr_id === $_subscr_id ) && ( $subscr_id = $_subscr_id ) ) if ( is_array ( $ipn_signup_vars = get_user_option ( "s2member_ipn_signup_vars" , $user_id ) ) ) if ( $ipn_signup_vars [ "subscr_id" ] === $subscr_id ) return $ipn_signup_vars ; } /**/ return false ; /* Otherwise, return false. */ } /** * Obtains a User's Paid Subscr. ID *( if available )*; otherwise their WP User ID. * * If ``$user`` IS passed in, this function will return data from a specific ``$user``, or fail if not possible. * If ``$user`` is NOT passed in, check the current User/Member. * * @package s2Member\Utilities * @since 3.5 * * @param obj $user Optional. A `WP_User` object. * In order to check the current User, you must call this function with no arguments/parameters. * @return int|str|bool If possible, the User's Paid Subscr. ID, else their WordPress® User ID, else false. */ public static function get_user_subscr_or_wp_id ( $user = FALSE ) { if ( ( func_num_args ( ) && ( ! is_object ( $user ) || ! $user - ID ) ) || ( ! func_num_args ( ) && ! $user && ( ! is_object ( $user = ( is_user_logged_in ( ) ) ? wp_get_current_user ( ) : false ) || ! $user - ID ) ) ) { return false ; /* The $user was passed in but is NOT an object; or nobody is logged in. */ } else /* Else return Paid Subscr. ID ( if available ), otherwise return their WP database User ID. */ return ( $subscr_id = get_user_option ( "s2member_subscr_id" , $user - ID ) ) ? $subscr_id : $user - ID ; } /** * Determines whether or not a Username/Email is already in the database. * * Returns the WordPress® User ID if they exist. * * @package s2Member\Utilities * @since 3.5 * * @param str $user_login A User's Username. * @param str $user_email A User's Email Address. * @return int|bool If exists, a WordPress® User ID, else false. */ public static function user_login_email_exists ( $user_login = FALSE , $user_email = FALSE ) { global $wpdb ; /* Global database object reference. */ /**/ if ( $user_login && $user_email ) /* Only if we have both of these. */ if ( ( $user_id = $wpdb - get_var ( "SELECT `ID` FROM `" . $wpdb - users . "` WHERE `user_login` LIKE '" . esc_sql ( like_escape ( $user_login ) ) . "' AND `user_email` LIKE '" . esc_sql ( like_escape ( $user_email ) ) . "' LIMIT 1" ) ) ) return $user_id ; /* Return the associated WordPress® ID. */ /**/ return false ; /* Else return false. */ } /** * Determines whether or not a Username/Email is already in the database for this Blog. * * Returns the WordPress® User ID if they exist. * * @package s2Member\Utilities * @since 3.5 * * @param str $user_login A User's Username. * @param str $user_email A User's Email Address. * @param int|str $blog_id A numeric WordPress® Blog ID. * @return int|bool If exists *( but not on Blog )*, a WordPress® User ID, else false. */ public static function ms_user_login_email_exists_but_not_on_blog ( $user_login = FALSE , $user_email = FALSE , $blog_id = FALSE ) { if ( $user_login && $user_email ) /* Only if we have both of these. */ if ( is_multisite ( ) && ( $user_id = c_ws_plugin__s2member_utils_users:: user_login_email_exists ( $user_login , $user_email ) ) && ! is_user_member_of_blog ( $user_id , $blog_id ) ) return $user_id ; /**/ return false ; /* Else return false. */ } /** * Determines whether or not a Username/Email is already in the database for this Blog. * * This is an alias for: `c_ws_plugin__s2member_utils_users::ms_user_login_email_exists_but_not_on_blog()`. * * Returns the WordPress® User ID if they exist. * * @package s2Member\Utilities * @since 3.5 * * @param str $user_login A User's Username. * @param str $user_email A User's Email Address. * @param int|str $blog_id A numeric WordPress® Blog ID. * @return int|bool If exists *( but not on Blog )*, a WordPress® User ID, else false. */ public static function ms_user_login_email_can_join_blog ( $user_login = FALSE , $user_email = FALSE , $blog_id = FALSE ) { return c_ws_plugin__s2member_utils_users:: ms_user_login_email_exists_but_not_on_blog ( $user_login , $user_email , $blog_id ) ; } /** * Retrieves a field value. Also supports Custom Fields. * * @package s2Member\Utilities * @since 3.5 * * @param str $field_id Required. A unique Custom Registration Field ID, that you configured with s2Member. * Or, this could be set to any property that exists on the WP_User object for a particular User; * ( i.e. `id`, `ID`, `user_login`, `user_email`, `first_name`, `last_name`, `display_name`, `ip`, `IP`, * `s2member_registration_ip`, `s2member_custom`, `s2member_subscr_id`, `s2member_subscr_or_wp_id`, * `s2member_subscr_gateway`, `s2member_custom_fields`, `s2member_file_download_access_log`, * `s2member_auto_eot_time`, `s2member_last_payment_time`, `s2member_paid_registration_times`, * `s2member_access_role`, `s2member_access_level`, `s2member_access_label`, * `s2member_access_ccaps`, etc, etc. ). * @param int|str $user_id Optional. Defaults to the current User's ID. * @return mixed The value of the requested field, or false if the field does not exist. * * @todo Create a function that returns extensive details regarding Custom Registration Fields configured with s2Member. * Until then, you can inspect this array: ``json_decode ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"], true)``. */ public static function get_user_field ( $field_id = FALSE , $user_id = FALSE ) /* Very powerful function here. */ { global $wpdb ; /* Global database object reference. We'll need this to obtain the right database prefix. */ /**/ $current_user = wp_get_current_user ( ) ; /* Current User's object ( used when/if `$user_id` is empty ). */ /**/ if ( is_object ( $user = ( $user_id ) ? new WP_User ( $user_id ) : $current_user ) && ( $user_id = $user - ID ) ) { if ( isset ( $user - $field_id ) ) /* Immediate User object property? ( most likely ) */ return $user - $field_id ; /**/ else if ( isset ( $user - data - $field_id ) ) /* Also try the data object property. */ return $user - data - $field_id ; /**/ else if ( isset ( $user - { $wpdb - prefix . $field_id } ) ) /* Immediate prefixed? */ return $user - { $wpdb - prefix . $field_id } ; /**/ else if ( isset ( $user - data - { $wpdb - prefix . $field_id } ) ) /* Data prefixed? */ return $user - data - { $wpdb - prefix . $field_id } ; /**/ else if ( strcasecmp ( $field_id , "full_name" ) === 0 ) /* First/last full name? */ return trim ( $user - first_name . " " . $user - last_name ) ; /**/ else if ( preg_match ( "/^(email|user_email)$/i" , $field_id ) ) /* Email address? */ return $user - user_email ; /**/ else if ( preg_match ( "/^(login|user_login)$/i" , $field_id ) ) /* Username / login? */ return $user - user_login ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_role" ) === 0 ) /* Role name/ID? */ return c_ws_plugin__s2member_user_access:: user_access_role ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_level" ) === 0 ) /* Access Level? */ return c_ws_plugin__s2member_user_access:: user_access_level ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_label" ) === 0 ) /* Access Label? */ return c_ws_plugin__s2member_user_access:: user_access_label ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_access_ccaps" ) === 0 ) /* Custom Caps? */ return c_ws_plugin__s2member_user_access:: user_access_ccaps ( $user ) ; /**/ else if ( strcasecmp ( $field_id , "ip" ) === 0 && is_object ( $current_user ) && $current_user - ID === $user_id ) return $_SERVER [ "REMOTE_ADDR" ] ; /* The current User's IP address, right now. */ /**/ else if ( strcasecmp ( $field_id , "s2member_registration_ip" ) === 0 || strcasecmp ( $field_id , "reg_ip" ) === 0 || strcasecmp ( $field_id , "ip" ) === 0 ) return get_user_option ( "s2member_registration_ip" , $user_id ) ; /**/ else if ( strcasecmp ( $field_id , "s2member_subscr_or_wp_id" ) === 0 ) return ( $subscr_id = get_user_option ( "s2member_subscr_id" , $user_id ) ) ? $subscr_id : $user_id ; /**/ else if ( is_array ( $fields = get_user_option ( "s2member_custom_fields" , $user_id ) ) ) if ( isset ( $fields [ preg_replace ( "/[^a-z0-9]/i" , "_" , strtolower ( $field_id ) ) ] ) ) return $fields [ preg_replace ( "/[^a-z0-9]/i" , "_" , strtolower ( $field_id ) ) ] ; } /**/ return false ; /* Default, return false. */ } } } ? [ full view ]s2member\includes\classes\utils-users.inc.php Source Code Documentation Packages ( Overview ) Classes Deprecated Todo Index Source Code(!-- :: s-words --)

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


]]>
2011-07-09T06:10:46-05:00 http://www.primothemes.com/forums/viewtopic.php?t=13105&p=25400#p25400 <![CDATA[s2Member v111220 / Source Code: s2member\i...]]>
s2Member v111220
Source Code: s2member\includes\classes\utils-users.inc.php
Docs updated: December 20, 2011, 9:50 am

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

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


]]>