/** * @param string $success_message - '', if present, will return an clickable link * @param string $error_message - "You don’t have access to this RSS feed." * @param bool $return * @return string */ function memberful_private_rss_feed_link($success_message = '', $error_message = "You don’t have access to this RSS feed.", $return = false) { $error_message = apply_filters('memberful_private_rss_feed_error_message', $error_message); if (!is_user_logged_in()) { return memberful_private_rss_feed_link_response_helper($error_message, $return); } $requiredPlan = memberful_private_user_feed_settings_get_required_plan(); // We want to allow the private user feed only if the admin has configured it. if ($requiredPlan == false) { return memberful_private_rss_feed_link_response_helper($error_message, $return); } $current_user_id = get_current_user_id(); if (!is_subscribed_to_memberful_plan($requiredPlan, $current_user_id)) { return memberful_private_rss_feed_link_response_helper($error_message, $return); } $feedToken = get_user_meta($current_user_id, 'memberful_private_user_feed_token', true); if ($feedToken == false || $feedToken == '') { $feedToken = substr(md5(uniqid(rand(1, 10000))), 2, 30); update_user_meta($current_user_id, 'memberful_private_user_feed_token', $feedToken); } $link = get_home_url() . '/' . memberful_private_user_feed_get_url_identifier($feedToken); if ($success_message != '') { $link = '<a href="' . $link . '">' . do_shortcode($success_message) . '</a>'; } return memberful_private_rss_feed_link_response_helper($link, $return); }
function memberful_wp_private_rss_feed_settings() { if (isset($_POST['memberful_private_feed_subscriptions_submit'])) { $private_feed_subscriptions = isset($_POST['memberful_private_feed_subscriptions']) ? $_POST['memberful_private_feed_subscriptions'] : false; memberful_private_user_feed_settings_set_required_plan($private_feed_subscriptions); } $current_feed_subscriptions = memberful_private_user_feed_settings_get_required_plan(); $current_feed_subscriptions = !is_array($current_feed_subscriptions) ? array() : $current_feed_subscriptions; memberful_wp_render('private_user_feed_settings', array('form_target' => memberful_wp_plugin_private_user_feed_settings_url(), 'subscription_plans' => memberful_subscription_plans(), 'available_subscriptions' => memberful_private_user_feed_settings_get_required_plan(), 'current_feed_subscriptions' => $current_feed_subscriptions)); }