function namaste_enroll() { global $wpdb, $user_ID, $user_email, $post; if (!is_user_logged_in()) { $content = ''; $required_lessons_ids = get_post_meta($post->ID, 'namaste_required_lessons', true); if (!is_array($required_lessons_ids)) { $required_lessons_ids = array(); } if (!empty($required_lessons_ids)) { sort($required_lessons_ids); $content .= "<ul class='not-auth-todo-list'>\n"; foreach ($required_lessons_ids as $lesson) { $content .= "<li>" . get_the_title($lesson); $content .= "</li>\n"; } $content .= "</ul>"; } return $content; } $enrolled = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NAMASTE_STUDENT_COURSES . " WHERE user_id = %d AND course_id = %d", $user_ID, $post->ID)); if (empty($enrolled->id)) { $currency = get_option('namaste_currency'); $is_manager = current_user_can('namaste_manage'); $_course = new NamasteLMSCourseModel(); // stripe integration goes right on this page $accept_stripe = get_option('namaste_accept_stripe'); $accept_paypal = get_option('namaste_accept_paypal'); $accept_other_payment_methods = get_option('namaste_accept_other_payment_methods'); if ($accept_stripe) { $stripe = NamasteStripe::load(); } if (!empty($_POST['stripe_pay'])) { NamasteStripe::pay($currency); namaste_redirect($_SERVER['REQUEST_URI']); } if (!empty($_POST['enroll'])) { echo " <script type='text/javascript'> location.reload(true); </script>"; $mesage = NamasteLMSCoursesController::enroll($is_manager); namaste_redirect($_SERVER['REQUEST_URI']); } $_course->currency = $currency; $_course->accept_other_payment_methods = $accept_other_payment_methods; $_course->accept_paypal = $accept_paypal; $_course->accept_stripe = $accept_stripe; $_course->stripe = $stripe; wp_enqueue_script('thickbox', null, array('jquery')); wp_enqueue_style('thickbox.css', '/' . WPINC . '/js/thickbox/thickbox.css', null, '1.0'); $post->post_id = $post->ID; $post->fee = get_post_meta($post->ID, 'namaste_fee', true); $content = $_course->enroll_buttons($post, $is_manager); $content = str_replace('<form method="post">', '<form method="post" id="namaste-enroll-form">', $content); $content = str_replace('</form>', '</form><a id="enroll-not-auth" class="upperCase" href="#">' . __('Enroll', 'qode') . '<span>»</span></a><script>(function($){ $("#share-social-buttons").addClass("not-logged"); $("#enroll-not-auth").on("click", function(e){ e.preventDefault(); $("#namaste-enroll-form").submit(); }); })(jQuery);</script>', $content); return $content; } else { switch ($enrolled->status) { case 'enrolled': return __('You are enrolled in this course.', 'namaste'); break; case 'pending': return __('Your enroll request is received. Waiting for manager approval.', 'namaste'); break; case 'completed': return __('You have completed this course.', 'namaste'); break; case 'rejected': return __('Your enrollment request is rejected.', 'namaste'); break; } } }
static function enroll($atts) { global $wpdb, $user_ID, $user_email, $post; if (!is_user_logged_in()) { return sprintf(__('You need to be <a href="%s">logged in</a> to enroll in this course', 'namaste'), wp_login_url(get_permalink($post->ID))); } // passed course id? if (!empty($atts['course_id'])) { $post = get_post($atts['course_id']); } $enrolled = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NAMASTE_STUDENT_COURSES . " WHERE user_id = %d AND course_id = %d", $user_ID, $post->ID)); if (empty($enrolled->id)) { $currency = get_option('namaste_currency'); $is_manager = current_user_can('namaste_manage'); $_course = new NamasteLMSCourseModel(); // stripe integration goes right on this page $accept_stripe = get_option('namaste_accept_stripe'); $accept_paypal = get_option('namaste_accept_paypal'); $accept_other_payment_methods = get_option('namaste_accept_other_payment_methods'); if ($accept_stripe) { $stripe = NamasteStripe::load(); } else { $stripe = ''; } if (!empty($_POST['stripe_pay'])) { NamasteStripe::pay($currency); namaste_redirect(get_permalink($post->ID)); } if (!empty($_POST['enroll'])) { // in case we use several shortcodes on the page make sure only the right course action is executed if (empty($atts['course_id']) or $atts['course_id'] == $_POST['course_id']) { $mesage = NamasteLMSCoursesController::enroll($is_manager); namaste_redirect(get_permalink($post->ID)); } } $_course->currency = $currency; $_course->accept_other_payment_methods = $accept_other_payment_methods; $_course->accept_paypal = $accept_paypal; $_course->accept_stripe = $accept_stripe; $_course->stripe = $stripe; wp_enqueue_script('thickbox', null, array('jquery')); wp_enqueue_style('thickbox.css', '/' . WPINC . '/js/thickbox/thickbox.css', null, '1.0'); $post->post_id = $post->ID; $post->fee = get_post_meta($post->ID, 'namaste_fee', true); return $_course->enroll_buttons($post, $is_manager); } else { switch ($enrolled->status) { case 'enrolled': return __('You are enrolled in this course.', 'namaste'); break; case 'pending': return __('Your enroll request is received. Waiting for manager approval.', 'namaste'); break; case 'completed': return __('You have completed this course.', 'namaste'); break; case 'rejected': return __('Your enrollment request is rejected.', 'namaste'); break; } } }
</div> <div> <a href="<?php echo get_permalink($course->post_id); ?> " target="_blank"><?php echo $course->post_title; ?> </a> <?php if (!empty($course->post_excerpt)) { echo apply_filters('the_content', stripslashes($course->post_excerpt)); } ?> </div> <?php echo $_course->enroll_buttons($course, $is_manager); var_dump($course); ?> </div> <?php } ?> </div> </div> </div> <?php get_footer(); ?>