Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_action( 'super_after_paypal_ipn_payment_verified', 'ajout_membre_a_la_une_apres_paiement' );
- function ajout_membre_a_la_une_apres_paiement($data){
- $custom = explode('|', $data['post']['custom']);
- $form_id = $custom[0];
- $user_id = $custom[3];
- if( $form_id==112 ) {
- bp_featured_members()->add_user($user_id);
- update_user_meta( $custom[3], '_paid_featured', 1 );
- }
- }
- /* BuddyPress Featured Member Expirable Membership Addon deb */
- <?php
- /**
- * Plugin Name: BuddyPress Featured Member Expirable Membership Addon
- * Description: An addon for featured member to unmark user as featured after certain period of time
- * Version: 1.0.1
- * Author: BuddyDev
- *
- * @package bp-featured-member-addon
- */
- /**
- * Class BP_Featured_Member_Expirable_Membership
- *
- * @author Ravi Sharma
- */
- class BP_Featured_Member_Expirable_Membership{
- /**
- * Singleton Instance
- *
- * @var BP_Featured_Member_Expirable_Membership
- */
- private static $instance = null;
- /**
- * BP_Featured_Member_Addon constructor.
- */
- private function __construct() {
- $this->setup();
- }
- /**
- * Get class instance
- *
- * @return BP_Featured_Member_Expirable_Membership
- */
- public static function get_instance() {
- if ( is_null( self::$instance ) ) {
- self::$instance = new self();
- }
- return self::$instance;
- }
- /**
- * Setup callback on necessaries hooks
- */
- private function setup() {
- register_activation_hook( __FILE__, array( $this, 'on_activation' ) );
- register_deactivation_hook( __FILE__, array( $this, 'on_deactivation' ) );
- add_action( 'bp_featured_members_user_added', array( $this, 'save_date' ) );
- add_action( 'bp_fma_remove_featured', array( $this, 'remove_featured' ) );
- }
- /**
- * Setup hourly cronjob to remove featured members
- */
- public function on_activation() {
- if ( ! wp_next_scheduled( 'bp_fma_remove_featured' ) ) {
- wp_schedule_event( time(), 'hourly', 'bp_fma_remove_featured' );
- }
- }
- /**
- * Remove cronjob
- */
- public function on_deactivation() {
- wp_clear_scheduled_hook( 'bp_fma_remove_featured' );
- }
- /**
- * How much time to expire.
- *
- * @return int // seconds.
- */
- private function get_interval() {
- $nbr_jour_a_la_une='0';
- $field_jesuis = '23'; //57
- $user_id = bp_loggedin_user_id();
- $jesuis = xprofile_get_field_data($field_jesuis,$user_id );
- $user_info = get_userdata($user_id);
- $user_roles = isset($user_info->roles)?$user_info->roles:array();
- $meta_paie = get_user_meta( $user_id, _paid_featured , true);
- if ($meta_paie=='1'){ // utilisateur payant
- if ( ($jesuis=='Une femme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='0.04'; $varHD.='Attendu2: 0.04 ';}
- if ( ($jesuis=='Une femme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='0.03'; $varHD.='Attendu2: 0.03 ';}
- if ( ($jesuis=='Un homme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='0.02'; $varHD.='Attendu2: 0.02 ';}
- if ( ($jesuis=='Un homme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='0.01'; $varHD.='Attendu2: 0.01 ';}
- update_user_meta( $user_id, '_paid_featured', 0 ); // remise à 0 meta disant que le membre ne paye plus , mis à 1 dans fonction si paiement
- }
- else {
- if ( ($jesuis=='Une femme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='4'; } // si membre de base ET une femme $user->has_cap('membre0')
- if ( ($jesuis=='Une femme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='3'; } // si membre de base ET une femme $user->has_cap('membre0')
- if ( ($jesuis=='Un homme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='2'; } // si membre de base ET une femme $user->has_cap('membre0')
- if ( ($jesuis=='Un homme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='1'; } // si membre de base ET une femme $user->has_cap('membre0')
- }
- $varHD.= "user_id: ".$user_id;
- $varHD.= "<br>jesuis: " .$jesuis;
- $varHD.= "<br>meta_paie: " .$meta_paie;
- error_log ("APRES DESACTIV.". $varHD);
- return $nbr_jour_a_la_une * DAY_IN_SECONDS; // 1 jour
- }
- /**
- * Save datetime when a user marked as featured
- *
- * @param int $user_id User id.
- */
- public function save_date( $user_id ) {
- update_user_meta( $user_id, '_bpfm_featured_at_time', time() );
- }
- /**
- * Removed featured members
- *
- * @return mixed
- */
- public function remove_featured() {
- global $wpdb;
- if ( ! function_exists( 'bp_featured_members' ) ) {
- return;
- }
- $interval = apply_filters( 'bpfm_expiration_interval', $this->get_interval() );
- $user_query = $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key = %s AND CAST( meta_value AS UNSIGNED ) < %d", '_bpfm_featured_at_time', ( time() - $interval ) );
- $where_sql = $wpdb->prepare( "( meta_key=%s OR meta_key=%s )", '_is_featured', '_bpfm_featured_at_time' );
- $user_ids = $wpdb->get_col( $user_query );
- if ( empty( $user_ids ) ) {
- return;
- }
- $list = join( ',', $user_ids );
- $query = "DELETE FROM {$wpdb->usermeta} WHERE {$where_sql} AND user_id IN ( $list )";
- $wpdb->query( $query );
- }
- }
- BP_Featured_Member_Expirable_Membership::get_instance();
- /* BuddyPress Featured Member Expirable Membership Addon, fin*/
- add_action('get_header', 'determine_temps_mise_en_avant');
- function determine_temps_mise_en_avant() {
- if (is_page(26) AND is_user_logged_in()) { // uniquement si membre connecté ET sur la page tableau de bord 3579
- $user_id = bp_loggedin_user_id();
- $field_jesuis = '23'; //57
- $jesuis = xprofile_get_field_data($field_jesuis,$user_id ); // $user_id );
- $user_info = get_userdata($user_id);
- $user_roles = isset($user_info->roles)?$user_info->roles:array();
- $varHD.= "user_id: ".$user_id;
- $varHD.= "<br>jesuis: " .$jesuis;
- $meta_paie = get_user_meta( $user_id, _paid_featured , true);
- $varHD.= "<br>meta_paie: " .$meta_paie;
- $nbr_jour_a_la_une='00';
- if ($meta_paie=='1'){ // utilisateur payant
- if ( ($jesuis=='Une femme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='8'; }
- if ( ($jesuis=='Une femme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='7'; }
- if ( ($jesuis=='Un homme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='6'; }
- if ( ($jesuis=='Un homme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='5'; }
- }
- else {
- if ( ($jesuis=='Une femme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='4'; }
- if ( ($jesuis=='Une femme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='3'; }
- if ( ($jesuis=='Un homme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='2'; }
- if ( ($jesuis=='Un homme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='1'; }
- }
- $varHD.= "<br>nbr_jour_a_la_une: " .$nbr_jour_a_la_une;
- // echo $varHD;
- error_log ("AttenduTableau:
- 8 si F & membre1 & membre-payant
- 7 si F & membre0 & membre-payant
- 6 si H & membre1 & membre-payant
- 5 si H & membre0 & membre-payant
- 4 si F & membre1
- 3 si F & membre0
- 2 si H & membre1
- 1 si H & membre0
- " .$varHD);
- // error_log ($varHD);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement