/** * Twitter follow callback. */ public function twitter_follow_callback() { global $current_user; $login = $current_user->user_login; $action = $_POST['action_type']; $term = $_POST['username']; $postId = $_POST['post_id']; check_ajax_referer('twitter_follow'); $ret = $this->livepress_communication->send_to_livepress_handle_twitter_follow($action, $term, $postId, $login); if ($ret == '{"errors":{"username":"******"}}') { $la = new LivePress_Administration(); if ($la->enable_remote_post($current_user->ID)) { $ret = $this->livepress_communication->send_to_livepress_handle_twitter_follow($action, $term, $postId, $login); } } echo wp_kses_post($ret); die; }
/** * Save the user settings. * * @author tddewey * * @param $user_id integer user ID being updated. * * @return integer returns the $user_id regardless of success or failure. */ function save_fields($user_id) { // Check permissions and nonce. if (!current_user_can('edit_user', $user_id) && wp_verify_nonce($_POST['_wpnonce'])) { return $user_id; } $old_lp_twitter = get_user_meta($user_id, 'lp_twitter', true); // returns empty string if not set, perfect $lp_twitter = isset($_POST['lp_twitter']) ? sanitize_text_field($_POST['lp_twitter']) : ''; $lp_user_password = isset($_POST['lp_user_password']) ? sanitize_text_field($_POST['lp_user_password']) : ''; if ($old_lp_twitter != $lp_twitter || '' !== $lp_user_password) { $user = get_userdata($user_id); $options = get_option(LivePress_Administration::$options_name); $livepress_com = new LivePress_Communication($options['api_key']); $error_message = ''; try { $return_code = $livepress_com->manage_remote_post_from_twitter($lp_twitter, $user->user_login); } catch (LivePress_Communication_Exception $e) { $return_code = $e->get_code(); $error_message = $e->getMessage(); } /* User not found at livepress, or password invalid, or WordPress password entered */ if ($return_code == 403 || '' !== $lp_user_password) { $la = new LivePress_Administration(); $error_message = $livepress_com->get_last_error_message(); if (!$la->enable_remote_post($user_id, $lp_user_password)) { $this->add_error('Error from the LivePress service: ', $error_message); } else { $error_message = ''; try { $return_code = $livepress_com->manage_remote_post_from_twitter($lp_twitter, $user->user_login); } catch (LivePress_Communication_Exception $e) { $return_code = $e->get_code(); $error_message = $e->getMessage(); } } } if ($return_code != 200 && $return_code != 'OK.') { if (strlen($error_message) > 0) { $this->add_error('Problem with setting twitter user: '******'Problem with setting twitter user: error #' . $return_code); // Show error code if no msg } } else { // No error if (empty($lp_twitter)) { // None left, delete meta delete_user_meta($user_id, 'lp_twitter'); } else { // Update meta with current lp_twitter update_user_meta($user_id, 'lp_twitter', $lp_twitter); } } } $old_lp_phone_number = get_user_meta($user_id, 'lp_phone_number', true); // returns empty string if not set, perfect $lp_phone_number = isset($_POST['lp_phone_number']) ? sanitize_text_field($_POST['lp_phone_number']) : ''; if ($old_lp_phone_number != $lp_phone_number) { $user = get_userdata($user_id); $options = get_option(LivePress_Administration::$options_name); $livepress_com = new LivePress_Communication($options['api_key']); $error_message = ''; try { $return_code = $livepress_com->set_phone_number($lp_phone_number, $user->user_login); } catch (LivePress_Communication_Exception $e) { $return_code = $e->get_code(); $error_message = $e->getMessage(); } if ($return_code == 403) { /* User not found at livepress, or password invalid */ $la = new LivePress_Administration(); $error_message = $livepress_com->get_last_error_message(); if (!$la->enable_remote_post($user_id, $lp_user_password)) { $this->add_error('Error from the LivePress service: ', $error_message); } else { $error_message = ''; try { $return_code = $livepress_com->set_phone_number($lp_phone_number, $user->user_login); } catch (LivePress_Communication_Exception $e) { $return_code = $e->get_code(); $error_message = $e->getMessage(); } } } if ($return_code != 200 && $return_code != 'OK.') { if (strlen($error_message) > 0) { $this->add_error('Problem with setting phone number: ' . $error_message); // Show existing error } else { $this->add_error('Problem with setting phone number: error #' . $return_code); // Show error code if no msg } } else { // No error if (empty($lp_phone_number)) { // None left, delete meta delete_user_meta($user_id, 'lp_phone_number'); } else { // Update meta with current lp_phone_number update_user_meta($user_id, 'lp_phone_number', $lp_phone_number); } } } return $user_id; }