Advertisement
HDInfAutre

Untitled

Sep 18th, 2018
1,063
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.22 KB | None | 0 0
  1. add_action( 'super_after_paypal_ipn_payment_verified', 'ajout_membre_a_la_une_apres_paiement' );
  2. function ajout_membre_a_la_une_apres_paiement($data){
  3. $custom = explode('|', $data['post']['custom']);
  4. $form_id = $custom[0];
  5. $user_id = $custom[3];
  6. if( $form_id==112 ) {
  7. bp_featured_members()->add_user($user_id);
  8. update_user_meta( $custom[3], '_paid_featured', 1 );
  9. }
  10. }
  11. /* BuddyPress Featured Member Expirable Membership Addon deb */
  12. <?php
  13. /**
  14. * Plugin Name: BuddyPress Featured Member Expirable Membership Addon
  15. * Description: An addon for featured member to unmark user as featured after certain period of time
  16. * Version: 1.0.1
  17. * Author: BuddyDev
  18. *
  19. * @package bp-featured-member-addon
  20. */
  21.  
  22. /**
  23. * Class BP_Featured_Member_Expirable_Membership
  24. *
  25. * @author Ravi Sharma
  26. */
  27. class BP_Featured_Member_Expirable_Membership{
  28.  
  29. /**
  30. * Singleton Instance
  31. *
  32. * @var BP_Featured_Member_Expirable_Membership
  33. */
  34. private static $instance = null;
  35.  
  36. /**
  37. * BP_Featured_Member_Addon constructor.
  38. */
  39. private function __construct() {
  40. $this->setup();
  41. }
  42.  
  43. /**
  44. * Get class instance
  45. *
  46. * @return BP_Featured_Member_Expirable_Membership
  47. */
  48. public static function get_instance() {
  49.  
  50. if ( is_null( self::$instance ) ) {
  51. self::$instance = new self();
  52. }
  53.  
  54. return self::$instance;
  55. }
  56.  
  57. /**
  58. * Setup callback on necessaries hooks
  59. */
  60. private function setup() {
  61.  
  62. register_activation_hook( __FILE__, array( $this, 'on_activation' ) );
  63. register_deactivation_hook( __FILE__, array( $this, 'on_deactivation' ) );
  64.  
  65. add_action( 'bp_featured_members_user_added', array( $this, 'save_date' ) );
  66. add_action( 'bp_fma_remove_featured', array( $this, 'remove_featured' ) );
  67. }
  68.  
  69. /**
  70. * Setup hourly cronjob to remove featured members
  71. */
  72. public function on_activation() {
  73.  
  74. if ( ! wp_next_scheduled( 'bp_fma_remove_featured' ) ) {
  75. wp_schedule_event( time(), 'hourly', 'bp_fma_remove_featured' );
  76. }
  77. }
  78.  
  79. /**
  80. * Remove cronjob
  81. */
  82. public function on_deactivation() {
  83. wp_clear_scheduled_hook( 'bp_fma_remove_featured' );
  84. }
  85.  
  86. /**
  87. * How much time to expire.
  88. *
  89. * @return int // seconds.
  90. */
  91. private function get_interval() {
  92. $nbr_jour_a_la_une='0';
  93. $field_jesuis = '23'; //57
  94.  
  95. $user_id = bp_loggedin_user_id();
  96. $jesuis = xprofile_get_field_data($field_jesuis,$user_id );
  97. $user_info = get_userdata($user_id);
  98. $user_roles = isset($user_info->roles)?$user_info->roles:array();
  99. $meta_paie = get_user_meta( $user_id, _paid_featured , true);
  100.  
  101. if ($meta_paie=='1'){ // utilisateur payant
  102. if ( ($jesuis=='Une femme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='0.04'; $varHD.='Attendu2: 0.04 ';}
  103. if ( ($jesuis=='Une femme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='0.03'; $varHD.='Attendu2: 0.03 ';}
  104. if ( ($jesuis=='Un homme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='0.02'; $varHD.='Attendu2: 0.02 ';}
  105. if ( ($jesuis=='Un homme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='0.01'; $varHD.='Attendu2: 0.01 ';}
  106.  
  107. update_user_meta( $user_id, '_paid_featured', 0 ); // remise à 0 meta disant que le membre ne paye plus , mis à 1 dans fonction si paiement
  108. }
  109. else {
  110. 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')
  111. 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')
  112. 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')
  113. 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')
  114. }
  115.  
  116. $varHD.= "user_id: ".$user_id;
  117. $varHD.= "<br>jesuis: " .$jesuis;
  118. $varHD.= "<br>meta_paie: " .$meta_paie;
  119. error_log ("APRES DESACTIV.". $varHD);
  120. return $nbr_jour_a_la_une * DAY_IN_SECONDS; // 1 jour
  121. }
  122.  
  123. /**
  124. * Save datetime when a user marked as featured
  125. *
  126. * @param int $user_id User id.
  127. */
  128. public function save_date( $user_id ) {
  129. update_user_meta( $user_id, '_bpfm_featured_at_time', time() );
  130. }
  131.  
  132. /**
  133. * Removed featured members
  134. *
  135. * @return mixed
  136. */
  137. public function remove_featured() {
  138.  
  139. global $wpdb;
  140.  
  141. if ( ! function_exists( 'bp_featured_members' ) ) {
  142. return;
  143. }
  144.  
  145. $interval = apply_filters( 'bpfm_expiration_interval', $this->get_interval() );
  146.  
  147. $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 ) );
  148.  
  149. $where_sql = $wpdb->prepare( "( meta_key=%s OR meta_key=%s )", '_is_featured', '_bpfm_featured_at_time' );
  150.  
  151. $user_ids = $wpdb->get_col( $user_query );
  152.  
  153. if ( empty( $user_ids ) ) {
  154. return;
  155. }
  156.  
  157. $list = join( ',', $user_ids );
  158.  
  159. $query = "DELETE FROM {$wpdb->usermeta} WHERE {$where_sql} AND user_id IN ( $list )";
  160.  
  161. $wpdb->query( $query );
  162. }
  163. }
  164.  
  165. BP_Featured_Member_Expirable_Membership::get_instance();
  166.  
  167. /* BuddyPress Featured Member Expirable Membership Addon, fin*/
  168. add_action('get_header', 'determine_temps_mise_en_avant');
  169. function determine_temps_mise_en_avant() {
  170. if (is_page(26) AND is_user_logged_in()) { // uniquement si membre connecté ET sur la page tableau de bord 3579
  171. $user_id = bp_loggedin_user_id();
  172. $field_jesuis = '23'; //57
  173. $jesuis = xprofile_get_field_data($field_jesuis,$user_id ); // $user_id );
  174. $user_info = get_userdata($user_id);
  175. $user_roles = isset($user_info->roles)?$user_info->roles:array();
  176. $varHD.= "user_id: ".$user_id;
  177. $varHD.= "<br>jesuis: " .$jesuis;
  178. $meta_paie = get_user_meta( $user_id, _paid_featured , true);
  179. $varHD.= "<br>meta_paie: " .$meta_paie;
  180. $nbr_jour_a_la_une='00';
  181. if ($meta_paie=='1'){ // utilisateur payant
  182. if ( ($jesuis=='Une femme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='8'; }
  183. if ( ($jesuis=='Une femme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='7'; }
  184. if ( ($jesuis=='Un homme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='6'; }
  185. if ( ($jesuis=='Un homme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='5'; }
  186. }
  187. else {
  188. if ( ($jesuis=='Une femme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='4'; }
  189. if ( ($jesuis=='Une femme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='3'; }
  190. if ( ($jesuis=='Un homme') AND (in_array('membre1', $user_roles)) ){$nbr_jour_a_la_une='2'; }
  191. if ( ($jesuis=='Un homme') AND (in_array('membre0', $user_roles)) ){$nbr_jour_a_la_une='1'; }
  192. }
  193.  
  194.  
  195. $varHD.= "<br>nbr_jour_a_la_une: " .$nbr_jour_a_la_une;
  196. // echo $varHD;
  197. error_log ("AttenduTableau:
  198. 8 si F & membre1 & membre-payant
  199. 7 si F & membre0 & membre-payant
  200. 6 si H & membre1 & membre-payant
  201. 5 si H & membre0 & membre-payant
  202. 4 si F & membre1
  203. 3 si F & membre0
  204. 2 si H & membre1
  205. 1 si H & membre0
  206. " .$varHD);
  207. // error_log ($varHD);
  208. }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement