Example #1
0
 /**
  * Wrapper function to send notification with WP-CRM or without one
  * @param mixed $args['user']
  * @param sting $args['trigger_action']
  * @param sting $args['data']             aka $notification_data
  * @param sting $args['crm_log_message']
  * @param sting $args['subject']          using in email notification
  * @param sting $args['message']          using in email notification
  * @uses self::replace_data()
  * @uses wp_crm_send_notification()
  * @return boolean false if notification was not sent successfully
  * @autor odokienko@UD
  */
 public static function send_notification($args = array())
 {
     $args = wp_parse_args($args, array('ignore_wp_crm' => false, 'user' => false, 'trigger_action' => false, 'data' => array(), 'message' => '', 'subject' => '', 'crm_log_message' => ''));
     if (is_numeric($args['user'])) {
         $args['user'] = get_user_by('id', $args['user']);
     } elseif (filter_var($args['user'], FILTER_VALIDATE_EMAIL)) {
         $args['user'] = get_user_by('email', $args['user']);
     } elseif (is_string($args['user'])) {
         $args['user'] = get_user_by('login', $args['user']);
     }
     if (!is_object($args['user']) || empty($args['user']->data->user_email)) {
         return false;
     }
     if (function_exists('wp_crm_send_notification') && empty($args['ignore_wp_crm'])) {
         if (!empty($args['crm_log_message'])) {
             wp_crm_add_to_user_log($args['user']->ID, self::replace_data($args['crm_log_message'], $args['data']));
         }
         if (!empty($args['trigger_action']) && is_callable('WP_CRM_N', 'get_trigger_action_notification')) {
             $notifications = WP_CRM_N::get_trigger_action_notification($args['trigger_action']);
             if (!empty($notifications)) {
                 return wp_crm_send_notification($args['trigger_action'], $args['data']);
             }
         }
     }
     if (empty($args['message'])) {
         return false;
     }
     return wp_mail($args['user']->data->user_email, self::replace_data($args['subject'], $args['data']), self::replace_data($args['message'], $args['data']));
 }
Example #2
0
 /**
  * Send notification on new_user_registration's ( new user is registered ) event
  *
  * @author peshkov@UD
  * @since 0.35.2
  */
 static function maybe_send_user_register_notification($user_id)
 {
     $action = 'new_user_registration';
     if (!is_callable('WP_CRM_N', 'get_trigger_action_notification')) {
         include_once WP_CRM_Path . '/core/notification.php';
     }
     $notifications = WP_CRM_N::get_trigger_action_notification($action);
     if (!empty($notifications)) {
         $userdata = get_userdata($user_id);
         if (!empty($userdata)) {
             wp_crm_send_notification($action, array('user_id' => $userdata->ID, 'user_login' => $userdata->user_login, 'user_email' => $userdata->user_email, 'user_url' => $userdata->user_url, 'display_name' => $userdata->display_name));
         }
     }
     return $user_id;
 }