/** * post buy button * * @param int post id * @param bool show error message * @param bool guest purchase * @return string button */ function mgm_get_post_purchase_button($post_id = NULL, $show_message = true, $guest_purchase = false) { // current user $current_user = wp_get_current_user(); // get system $system_obj = mgm_get_class('system'); // guest purchase - issue #1355 if (!$guest_purchase) { $guest_purchase = bool_from_yn(mgm_get_setting('enable_guest_content_purchase')); } // get current post id if (!$post_id) { $post_id = get_the_ID(); } // currency $currency = $system_obj->get_setting('currency'); //issue #867 $css_group = mgm_get_css_group(); // css if ($css_group != 'none') { // css link $return = '<link rel="stylesheet" href="' . MGM_ASSETS_URL . 'css/' . $css_group . '/mgm.form.fields.css' . '" type="text/css" media="all" />'; } // if user logged in if ($current_user->ID > 0 || $guest_purchase === TRUE) { // get active payment modules $a_payment_modules = $system_obj->get_active_modules('payment'); // init $payment_modules = array(); // when active if ($a_payment_modules) { // loop foreach ($a_payment_modules as $payment_module) { // not trial if (in_array($payment_module, array('mgm_free', 'mgm_trial'))) { continue; } // store $payment_modules[] = $payment_module; } } // if show if ($show_message) { // text $private_text_purchasable = mgm_stripslashes_deep($system_obj->get_template('private_text_purchasable', array(), true)); // def return $return .= sprintf('<div class="post_purchase_select_gateway">%s</div>', $private_text_purchasable); } // some module active if (count($payment_modules) > 0) { // in transactions url set if (!($transactions_url = $system_obj->get_setting('transactions_url'))) { // base url $transactions_url = mgm_home_url('transactions'); } // post url $post_payment_url = add_query_arg(array('method' => 'payment_purchase'), $transactions_url); // hook add_filter('mgm_payment_gateways_as_custom_field', 'mgm_payment_gateways_as_custom_field_on_postpurchase'); // custom fields $custom_fields = mgm_get_partial_fields(array('on_postpurchase' => true), 'mgm_postpurchase_field'); // button $button_code = sprintf('<input class="button" type="submit" name="btnsubmit" value="%s">', __('Buy Now', 'mgm')); // filter $button_code = apply_filters('post_purchase_button_html', $button_code); // init $addon_options_html = ''; // addons if ($addons = mgm_get_post($post_id)->get_addons()) { $addon_options_html = mgm_get_post_purchase_addon_options_html($addons); } // issue #1250 $button = mgm_subscription_purchase_errors(); // button $button .= '<div class="mgm_custom_filed_table"> <form name="mgm_buypost_form" id="mgm_buypost_form" class="mgm_form" method="post" action="' . $post_payment_url . '"> ' . $custom_fields . ' ' . $addon_options_html . ' ' . $button_code . ' <input type="hidden" name="post_id" value="' . $post_id . '"> <input type="hidden" name="form_action" value="' . post_permalink($post_id) . '"> <input type="hidden" name="guest_purchase" value="' . $guest_purchase . '"> </form> </div>'; // return $return .= $button; } else { $return .= sprintf('<div class="mgm_no_payment_gateway">%s</div>', __('No Payment Gateway available.', 'mgm')); } } else { // message if ($show_message) { // text $private_text_purchasable_login = mgm_private_text_tags(mgm_stripslashes_deep($system_obj->get_template('private_text_purchasable_login', array(), true))); // only when show message $return .= sprintf('<div class="post_purchase_select_gateway">%s</div>', $private_text_purchasable_login); } } // return return $return; }
/** * url content protection */ function mgm_url_content_protection($content) { // return 'Protected'; $system_obj = mgm_get_class('system'); // check $current_user = wp_get_current_user(); // message code if ($current_user->ID) { // logged in user $message_code = mgm_post_is_purchasable() ? 'private_text_purchasable' : 'private_text_no_access'; } else { // logged out user $message_code = mgm_post_is_purchasable() ? 'private_text_purchasable_login' : 'private_text'; } // protected_message $protected_message = sprintf('<div class="mgm_private_no_access">%s</div>', mgm_private_text_tags(mgm_stripslashes_deep($system_obj->get_template($message_code, array(), true)))); // filter message $protected_message = mgm_replace_message_tags($protected_message); // return return $content = $protected_message; }
function mgm_replace_postdealy_content($content = NULL) { // system $system_obj = mgm_get_class('system'); // not logged in $content = mgm_private_text_tags(mgm_stripslashes_deep($system_obj->get_template('private_text_postdelay_no_access', array(), true))); //return return sprintf('<div class="mgm_private_postdealy_no_access">%s</div>', mgm_replace_message_tags($content)); }