Current Path : /var/test/www/ljmti/wp-content/plugins/goodlayers-lms/include/ |
Current File : /var/test/www/ljmti/wp-content/plugins/goodlayers-lms/include/course-item.php |
<?php /* * Goodlayers Course File */ // get quiz option array if( !function_exists('gdlr_lms_get_quiz_options') ){ function gdlr_lms_get_quiz_options( $post_id ){ $quiz_val = gdlr_lms_decode_preventslashes(get_post_meta($post_id, 'gdlr-lms-quiz-settings', true)); if( empty($quiz_val) ){ $quiz_val = array(); }else{ $quiz_val = json_decode($quiz_val, true); } $quiz_val['retake-quiz'] = empty($quiz_val['retake-quiz'])? 'disable': $quiz_val['retake-quiz']; $quiz_val['retake-times'] = empty($quiz_val['retake-times'])? 9999: $quiz_val['retake-times']; // * after view quiz answer, the retake times will be set to 9999 return $quiz_val; } // gdlr_lms_get_quiz_options } // function_exists // return 'please-login-first', 'new-quiz', 'old-quiz-retakable', 'old-quiz-disable' if( !function_exists('gdlr_lms_quiz_status') ){ function gdlr_lms_quiz_status( $quiz_id, $course_id, $user_id, $section_id = '' ){ if( !is_user_logged_in() ){ return 'please-login-first'; } $quiz_row = gdlr_lms_get_quiz_row($quiz_id, $course_id, $user_id, $section_id); // previously take a quiz if( !empty($quiz_row) && ($quiz_row->quiz_status == 'complete' || $quiz_row->quiz_status == 'submitted') ){ $quiz_options = gdlr_lms_get_quiz_options($quiz_id); // if retake enable && retake times < value && not yet view an answer if( $quiz_options['retake-quiz'] == 'enable' && $quiz_row->retake_times < intval($quiz_options['retake-times']) && $quiz_row->retake_times < 9999 ){ return 'old-quiz-retakable'; }else{ return 'old-quiz-disable'; } }else{ return 'new-quiz'; } } // gdlr_lms_quiz_status } // function_exists // get course option array function gdlr_lms_get_course_options( $post_id ){ $course_val = gdlr_lms_decode_preventslashes(get_post_meta($post_id, 'gdlr-lms-course-settings', true)); if( empty($course_val) ){ return array(); }else{ $course_options = json_decode($course_val, true); $course_options['price-one'] = !empty($course_options['discount-price'])? floatval($course_options['discount-price']): floatval($course_options['price']); return $course_options; } } // get content settings array function gdlr_lms_get_course_content_settings( $post_id ){ $course_val = gdlr_lms_decode_preventslashes(get_post_meta($post_id, 'gdlr-lms-content-settings', true)); $course_val = empty($course_val)? array(): json_decode($course_val, true); // for old data foreach($course_val as $tabs_key => $tabs_value){ if( empty($tabs_value['lecture-section']) ){ $course_val[$tabs_key]['lecture-section'] = array(0=>array()); if( !empty($tabs_value['pdf-download-link']) ){ $course_val[$tabs_key]['lecture-section'][0]['pdf-download-link'] = $tabs_value['pdf-download-link']; } if( !empty($tabs_value['course-content']) ){ $course_val[$tabs_key]['lecture-section'][0]['lecture-content'] = $tabs_value['course-content']; } $course_val[$tabs_key]['lecture-section'] = json_encode($course_val[$tabs_key]['lecture-section']); $old_data = true; } } return $course_val; } // print course search function gdlr_lms_print_course_search( $settings, $page_builder = false ){ if( $page_builder ){ $item_id = empty($settings['page-item-id'])? '': ' id="' . $settings['page-item-id'] . '" '; global $gdlr_spaces; $margin = (!empty($settings['margin-bottom']) && $settings['margin-bottom'] != $gdlr_spaces['bottom-blog-item'])? 'margin-bottom: ' . $settings['margin-bottom'] . ';': ''; $margin_style = (!empty($margin))? ' style="' . $margin . '" ': ''; echo gdlr_get_item_title($settings); }else{ $item_id = ''; $margin_style= ""; } $search_val = get_search_query(); if( empty($search_val) ){ $search_val = __("Keywords" , "gdlr-lms"); } $categories = gdlr_lms_get_term_list('course_category'); echo '<div class="course-search-wrapper" ' . $item_id . $margin_style . ' >'; ?> <form class="gdlr-lms-form" action="<?php echo home_url(); ?>/" > <div class="course-search-column gdlr-lms-1"> <span class="gdlr-lms-combobox"> <select name="course_category" > <option value="" ><?php _e('Category', 'gdlr-lms'); ?></option> <?php foreach( $categories as $slug => $category ){ echo '<option value="' . $slug . '" >' . $category . '</option>'; } ?> </select> </span> </div> <div class="course-search-column gdlr-lms-2"> <span class="gdlr-lms-combobox"> <select name="course_type" id="gender" > <option value="" ><?php _e('Type', 'gdlr-lms'); ?></option> <option value="online" ><?php _e('Online Course', 'gdlr-lms'); ?></option> <option value="onsite" ><?php _e('Onsite Course', 'gdlr-lms'); ?></option> </select> </span> </div> <div class="course-search-column gdlr-lms-3"> <input type="text" name="s" id="s" autocomplete="off" placeholder="<?php echo $search_val; ?>" /> </div> <div class="course-search-column gdlr-lms-4"> <input type="hidden" name="post_type" value="course" /> <input class="gdlr-lms-button" type="submit" value="<?php _e('Search!', 'gdlr-lms'); ?>" /> </div> <div class="clear"></div> </form> <?php echo '</div>'; // course-search-wrapper } // print course item function gdlr_lms_print_course_item( $settings, $page_builder = false ){ if( $page_builder ){ $item_id = empty($settings['page-item-id'])? '': ' id="' . $settings['page-item-id'] . '" '; global $gdlr_spaces; $margin = (!empty($settings['margin-bottom']) && $settings['margin-bottom'] != $gdlr_spaces['bottom-blog-item'])? 'margin-bottom: ' . $settings['margin-bottom'] . ';': ''; $margin_style = (!empty($margin))? ' style="' . $margin . '" ': ''; if( in_array($settings['course-style'], array('grid', 'grid-2')) && $settings['course-layout'] == 'carousel' ){ $settings['carousel'] = true; } echo gdlr_get_item_title($settings); }else{ $item_id = ''; $margin_style= ""; } echo '<div class="course-item-wrapper" ' . $item_id . $margin_style . ' >'; // query course section $args = array('post_type' => 'course', 'suppress_filters' => false); $args['posts_per_page'] = (empty($settings['num-fetch']))? '3': $settings['num-fetch']; $args['orderby'] = (empty($settings['orderby']))? 'post_date': $settings['orderby']; if( $args['orderby'] == 'start-date' ){ $args['orderby'] = 'meta_value'; $args['meta_key'] = 'gdlr_course_start_date'; } $args['order'] = (empty($settings['order']))? 'desc': $settings['order']; $args['paged'] = (get_query_var('paged'))? get_query_var('paged') : get_query_var('page'); $args['paged'] = empty($args['paged'])? 1: $args['paged']; if( !empty($settings['category']) ){ $args['tax_query'] = array( array('terms'=>explode(',', $settings['category']), 'taxonomy'=>'course_category', 'field'=>'slug') ); } if( !empty($settings['course_id']) ){ $args['post__in'] = $settings['course_id']; } $query = new WP_Query( $args ); $settings['course-layout'] = empty($settings['course-layout'])? 'fitRows': $settings['course-layout']; $settings['course-size'] = empty($settings['course-size'])? 3: $settings['course-size']; if( $settings['course-style'] == 'grid' ){ if($settings['course-layout'] == 'carousel'){ gdlr_lms_print_course_grid_carousel($query, $settings['thumbnail-size'], $settings['course-size']); }else{ gdlr_lms_print_course_grid($query, $settings['thumbnail-size'], $settings['course-size']); } }else if( $settings['course-style'] == 'grid-2' ){ if($settings['course-layout'] == 'carousel'){ gdlr_lms_print_course_grid2_carousel($query, $settings['thumbnail-size'], $settings['course-size']); }else{ gdlr_lms_print_course_grid2($query, $settings['thumbnail-size'], $settings['course-size']); } }else if( $settings['course-style'] == 'medium' ){ gdlr_lms_print_course_medium($query, $settings['thumbnail-size']); }else if( $settings['course-style'] == 'full' ){ gdlr_lms_print_course_full($query, $settings['thumbnail-size'], $settings['num-excerpt']); } if($settings['pagination'] == 'enable'){ echo gdlr_lms_get_pagination($query->max_num_pages, $args['paged']); } echo '</div>'; // course-item-wrapper } // course full function gdlr_lms_print_course_full($query, $thumbnail, $num_excerpt = 50){ global $gdlr_lms_excerpt_length; $gdlr_lms_excerpt_length = $num_excerpt; add_filter('excerpt_more', 'gdlr_lms_excerpt_more'); add_filter('excerpt_length', 'gdlr_lms_set_excerpt_length', 999); echo '<div class="gdlr-lms-course-full-wrapper">'; while( $query->have_posts() ){ $query->the_post(); $course_options = gdlr_lms_get_course_options(get_the_ID()); echo '<div class="gdlr-lms-course-full gdlr-lms-item">'; gdlr_lms_print_course_thumbnail($thumbnail); echo '<div class="gdlr-lms-course-info-wrapper">'; gdlr_lms_print_course_info($course_options); gdlr_lms_print_course_price($course_options); gdlr_lms_print_course_button($course_options, array('buy', 'book')); echo '</div>'; echo '<div class="gdlr-lms-course-content">'; echo '<h3 class="gdlr-lms-course-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; echo gdlr_lms_print_course_rating(get_the_ID()); echo '<div class="gdlr-lms-course-excerpt">' . get_the_excerpt() . '</div>'; echo '</div>'; // course-content echo '<div class="clear"></div>'; echo '</div>'; // course-full } wp_reset_postdata(); remove_filter('excerpt_more', 'gdlr_lms_excerpt_more'); remove_filter('excerpt_length', 'gdlr_lms_set_excerpt_length'); echo '</div>'; // course-full-wrapper } // course medium function gdlr_lms_print_course_medium($query, $thumbnail){ echo '<div class="gdlr-lms-course-medium-wrapper">'; while( $query->have_posts() ){ $query->the_post(); $course_options = gdlr_lms_get_course_options(get_the_ID()); echo '<div class="gdlr-lms-course-medium gdlr-lms-item">'; gdlr_lms_print_course_thumbnail($thumbnail); echo '<div class="gdlr-lms-course-content">'; echo '<h3 class="gdlr-lms-course-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; echo gdlr_lms_print_course_rating(get_the_ID()); gdlr_lms_print_course_info($course_options); gdlr_lms_print_course_price($course_options); gdlr_lms_print_course_button($course_options, array('buy', 'book')); echo '</div>'; // course-content echo '<div class="clear"></div>'; echo '</div>'; // course-medium } wp_reset_postdata(); echo '</div>'; // course-medium-wrapper } // course grid function gdlr_lms_print_course_grid($query, $thumbnail, $column = 3){ $count = 0; echo '<div class="gdlr-lms-course-grid-wrapper">'; while( $query->have_posts() ){ $query->the_post(); if($count % $column == 0){ echo '<div class="clear"></div>'; } $count++; $course_options = gdlr_lms_get_course_options(get_the_ID()); echo '<div class="gdlr-lms-course-grid gdlr-lms-col' . $column . '">'; echo '<div class="gdlr-lms-item">'; gdlr_lms_print_course_thumbnail($thumbnail); echo '<div class="gdlr-lms-course-content">'; echo '<h3 class="gdlr-lms-course-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; echo gdlr_lms_print_course_rating(get_the_ID()); gdlr_lms_print_course_info($course_options); gdlr_lms_print_course_price($course_options); gdlr_lms_print_course_button($course_options, array('buy', 'book')); echo '</div>'; // course-content echo '<div class="clear"></div>'; echo '</div>'; // lms-item echo '</div>'; // course-grid } wp_reset_postdata(); echo '<div class="clear"></div>'; echo '</div>'; // course-grid-wrapper } // course grid carousel function gdlr_lms_print_course_grid_carousel($query, $thumbnail, $column = 3){ $count = 0; echo '<div class="gdlr-lms-course-grid-wrapper gdlr-lms-carousel">'; echo '<div class="flexslider" data-type="carousel" data-nav-container="course-item-wrapper" data-columns="' . $column . '" >'; echo '<ul class="slides" >'; while( $query->have_posts() ){ $query->the_post(); $course_options = gdlr_lms_get_course_options(get_the_ID()); echo '<li class="gdlr-lms-course-grid gdlr-lms-item">'; gdlr_lms_print_course_thumbnail($thumbnail); echo '<div class="gdlr-lms-course-content">'; echo '<h3 class="gdlr-lms-course-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; gdlr_lms_print_course_info($course_options); gdlr_lms_print_course_price($course_options); gdlr_lms_print_course_button($course_options, array('buy', 'book')); echo '</div>'; // course-content echo '<div class="clear"></div>'; echo '</li>'; // course-grid } wp_reset_postdata(); echo '</ul>'; echo '</div>'; // flexslider echo '</div>'; // course-grid-wrapper } // course grid function gdlr_lms_print_course_grid2($query, $thumbnail, $column = 3){ $count = 0; echo '<div class="gdlr-lms-course-grid2-wrapper">'; while( $query->have_posts() ){ $query->the_post(); if($count % $column == 0){ echo '<div class="clear"></div>'; } $count++; $course_options = gdlr_lms_get_course_options(get_the_ID()); $lms_item_class = (empty($course_options['price']) && empty($course_options['discount-price']))? 'gdlr-lms-free': ''; echo '<div class="gdlr-lms-course-grid2 gdlr-lms-col' . $column . '">'; echo '<div class="gdlr-lms-item ' . $lms_item_class . '">'; gdlr_lms_print_course_thumbnail($thumbnail); echo '<div class="gdlr-lms-course-content">'; echo '<h3 class="gdlr-lms-course-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; // price echo '<div class="gdlr-lms-course-price">'; if( !empty($course_options['price']) && empty($course_options['discount-price']) ){ echo '<span class="price-button">' . gdlr_lms_money_format($course_options['price']) . '</span>'; }else if( !empty($course_options['discount-price']) ){ echo '<span class="price-button">' . gdlr_lms_money_format($course_options['discount-price']) . '</span>'; }else{ echo '<span class="price-button blue">' . __('Free' ,'gdlr-lms') . '</span>'; } echo '</div>'; // date echo '<div class="gdlr-lms-course-info" >'; echo '<i class="fa fa-clock-o icon-time"></i>'; echo '<span class="tail">' . gdlr_lms_date_format($course_options['start-date']); echo empty($course_options['end-date'])? '': ' - ' . gdlr_lms_date_format($course_options['end-date']); echo '</span>'; echo '</div>'; echo '<div class="clear"></div>'; echo '</div>'; // course-content echo '</div>'; // lms-item echo '</div>'; // course-grid2 } wp_reset_postdata(); echo '<div class="clear"></div>'; echo '</div>'; // course-grid-wrapper } // course grid function gdlr_lms_print_course_grid2_carousel($query, $thumbnail, $column = 3){ $count = 0; echo '<div class="gdlr-lms-course-grid2-wrapper gdlr-lms-carousel">'; echo '<div class="flexslider" data-type="carousel" data-nav-container="course-item-wrapper" data-columns="' . $column . '" >'; echo '<ul class="slides" >'; while( $query->have_posts() ){ $query->the_post(); $course_options = gdlr_lms_get_course_options(get_the_ID()); $lms_item_class = (empty($course_options['price']) && empty($course_options['discount-price']))? 'gdlr-lms-free': ''; echo '<li class="gdlr-lms-course-grid2 gdlr-lms-item ' . $lms_item_class . '">'; gdlr_lms_print_course_thumbnail($thumbnail); echo '<div class="gdlr-lms-course-content">'; echo '<h3 class="gdlr-lms-course-title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></h3>'; // price echo '<div class="gdlr-lms-course-price">'; if( !empty($course_options['price']) && empty($course_options['discount-price']) ){ echo '<span class="price-button">' . gdlr_lms_money_format($course_options['price']) . '</span>'; }else if( !empty($course_options['discount-price']) ){ echo '<span class="price-button">' . gdlr_lms_money_format($course_options['discount-price']) . '</span>'; }else{ echo '<span class="price-button blue">' . __('Free' ,'gdlr-lms') . '</span>'; } echo '</div>'; // date echo '<div class="gdlr-lms-course-info" >'; echo '<i class="fa fa-clock-o icon-time"></i>'; echo '<span class="tail">' . gdlr_lms_date_format($course_options['start-date']); echo empty($course_options['end-date'])? '': ' - ' . gdlr_lms_date_format($course_options['end-date']); echo '</span>'; echo '</div>'; echo '<div class="clear"></div>'; echo '</div>'; // course-content echo '</li>'; // course-grid2 } wp_reset_postdata(); echo '</ul>'; echo '</div>'; echo '</div>'; // course-grid-wrapper } // print course info function gdlr_lms_print_course_info($course_options, $options = array('instructor', 'type', 'date', 'time', 'place', 'seat'), $additional_code = '', $single = false){ global $gdlr_lms_option; echo '<div class="gdlr-lms-course-info">'; foreach( $options as $value ){ switch($value){ case 'instructor': $author_id = ''; if( !empty($course_options['author_id']) ){ $author_id = $course_options['author_id']; }else if( is_single() ){ $author_id = get_the_author_meta('ID'); }else{ $author_id = null; } echo '<div class="gdlr-lms-info gdlr-lms-info-instructor" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="' . plugins_url('../images/course-info/instructor.png', __FILE__) . '" alt="" /></span>'; }else{ echo '<span class="head">' . __('Instructor', 'gdlr-lms') . '</span>'; } echo '<span class="tail"><a href="' . get_author_posts_url($author_id) . '" >' . gdlr_lms_get_user_info($author_id) . '</a></span>'; echo '</div>'; break; case 'type': if( !empty($course_options['online-course']) ){ echo '<div class="gdlr-lms-info gdlr-lms-info-type" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="'; if( $course_options['online-course'] == 'enable' ){ echo plugins_url('../images/course-info/online-course.png', __FILE__); }else{ echo plugins_url('../images/course-info/onsite-course.png', __FILE__); } echo '" alt="" /></span>'; }else{ echo '<span class="head">' . __('Type', 'gdlr-lms') . '</span>'; } echo '<span class="tail">'; if( $course_options['online-course'] == 'enable' ){ echo __('Online Course', 'gdlr-lms'); }else{ echo __('Onsite Course', 'gdlr-lms'); } echo '</span>'; echo '</div>'; } break; case 'date': if( !empty($course_options['start-date']) ){ echo '<div class="gdlr-lms-info gdlr-lms-info-start-date" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="' . plugins_url('../images/course-info/calendar.png', __FILE__) . '" alt="" /></span>'; }else{ echo '<span class="head">' . __('Date', 'gdlr-lms') . '</span>'; } echo '<span class="tail">' . gdlr_lms_date_format($course_options['start-date']); echo empty($course_options['end-date'])? '': ' - ' . gdlr_lms_date_format($course_options['end-date']); echo '</span>'; echo '</div>'; } break; case 'time': if( $course_options['online-course'] == 'disable' ){ if( !empty($course_options['course-time']) ){ echo '<div class="gdlr-lms-info gdlr-lms-info-time" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="' . plugins_url('../images/course-info/time.png', __FILE__) . '" alt="" /></span>'; }else{ echo '<span class="head">' . __('Time', 'gdlr-lms') . '</span>'; } echo '<span class="tail">' . $course_options['course-time'] . '</span>'; echo '</div>'; } } break; case 'place': if( $course_options['online-course'] == 'disable' && !empty($course_options['location']) ){ echo '<div class="gdlr-lms-info gdlr-lms-info-location" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="' . plugins_url('../images/course-info/location.png', __FILE__) . '" alt="" /></span>'; }else{ echo '<span class="head">' . __('Place', 'gdlr-lms') . '</span>'; } echo '<span class="tail">' . $course_options['location'] . '</span>'; echo '</div>'; } break; case 'price': $price = empty($course_options['discount-price'])? $course_options['price']: $course_options['discount-price']; echo '<div class="gdlr-lms-info gdlr-lms-info-price" >'; echo '<span class="head">' . __('Price', 'gdlr-lms') . '</span>'; echo '<span class="tail">'; echo empty($price)? __('Free', 'gdlr-lms'): gdlr_lms_money_format($price); echo '</span>'; echo '</div>'; break; case 'seat': if( $course_options['online-course'] == 'disable' ){ echo '<div class="gdlr-lms-info gdlr-lms-info-seat" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="' . plugins_url('../images/course-info/enrolled.png', __FILE__) . '" alt="" /></span>'; echo '<span class="tail">'; echo intval($course_options['booked-seat']) . ' ' . __('Students Enrolled', 'gdlr-lms'); echo (!empty($course_options['max-seat']))? '<br>(' . (intval($course_options['max-seat']) - intval($course_options['booked-seat'])) . ' ' . __('Available', 'gdlr-lms') . ')': ''; echo '</span>'; }else{ echo '<span class="head">' . __('Seat', 'gdlr-lms') . '</span>'; echo '<span class="tail">' . intval($course_options['booked-seat']) . '/' . intval($course_options['max-seat']) . '</span>'; } echo '</div>'; }else{ global $wpdb; $sql = 'SELECT COUNT(*) FROM ' . $wpdb->prefix . 'gdlrpayment '; $sql .= 'WHERE course_id=' . get_the_ID(); $student_enrolled = $wpdb->get_var($sql); if( !empty($student_enrolled) ){ echo '<div class="gdlr-lms-info gdlr-lms-info-seat" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="' . plugins_url('../images/course-info/enrolled.png', __FILE__) . '" alt="" /></span>'; echo '<span class="tail">' . $student_enrolled . ' ' . __('Students Enrolled', 'gdlr-lms') . '</span>'; }else{ echo '<span class="head">' . __('Student Enrolled', 'gdlr-lms') . '</span>'; echo '<span class="tail">' . $student_enrolled . '</span>'; } echo '</div>'; } } break; case 'certificate': if( !empty($course_options['enable-certificate']) && $course_options['enable-certificate'] == 'enable' ){ echo '<div class="gdlr-lms-info gdlr-lms-info-certificate" >'; if( $single && !empty($gdlr_lms_option['course-info-style']) && $gdlr_lms_option['course-info-style'] == 'style-2' ){ echo '<span class="head"><img src="' . plugins_url('../images/course-info/certificate.png', __FILE__) . '" alt="" /></span>'; echo '<span class="tail">' . __('Course Certificate', 'gdlr-lms') . '<br>('; echo $course_options['certificate-percent'] . '% ' . __('of quiz marks', 'gdlr-lms') . ')</span>'; }else{ echo '<span class="head">' . __('Certificate', 'gdlr-lms') . '</span>'; echo '<span class="tail">' . $course_options['certificate-percent'] . '% ' . __('of quiz marks', 'gdlr-lms') . '</span>'; } echo '</div>'; } break; case 'rating': gdlr_lms_print_course_rating(get_the_ID()); break; } } echo $additional_code; echo '</div>'; } // course rating function gdlr_lms_print_course_rating($course_id){ global $gdlr_lms_rating; if( empty($gdlr_lms_rating) ){ $gdlr_lms_rating = get_option('gdlr_lms_rating', array('course_id'=>'score')); } if( empty($gdlr_lms_rating[$course_id]) ) return; $num_user = 0; $all_score = 0; foreach($gdlr_lms_rating[$course_id] as $score){ $num_user++; $all_score += floatval($score); } $star_count = 0; $rating_score = $all_score / $num_user; echo '<div class="gdlr-lms-rating-wrapper">'; while($star_count < 5){ $star_count++; if( $rating_score > 1 ){ $rating_score--; echo '<i class="fa fa-star icon-star"></i>'; }else if( $rating_score > 0.75 ){ $rating_score = 0; echo '<i class="fa fa-star icon-star"></i>'; }else if( $rating_score > 0.25 ){ $rating_score = 0; echo '<i class="fa fa-star-half-o icon-star-half-full"></i>'; }else{ echo '<i class="fa fa-star-o icon-star-empty"></i>'; } } echo '<span class="gdlr-lms-rating-amount">(' . $num_user . ' ' . __('ratings', 'gdlr-lms') . ')</span>'; echo '</div>'; } // print course price function gdlr_lms_print_course_price($course_options){ echo '<div class="gdlr-lms-course-price">'; echo '<span class="head">' . __('Price', 'gdlr-lms') . '</span>'; if( !empty($course_options['allow-non-member']) && $course_options['allow-non-member'] == 'enable' && (empty($course_options['online-course']) || $course_options['online-course'] == 'enable') ){ echo '<span class="price">' . __('Free' ,'gdlr-lms') . '</span>'; }else if( !empty($course_options['price']) && empty($course_options['discount-price']) ){ echo '<span class="price">' . gdlr_lms_money_format($course_options['price']) . '</span>'; }else if( !empty($course_options['discount-price']) ){ echo '<span class="price with-discount">' . gdlr_lms_money_format($course_options['price']) . '</span>'; echo '<span class="discount-price">' . gdlr_lms_money_format($course_options['discount-price']) . '</span>'; }else{ echo '<span class="price">' . __('Free' ,'gdlr-lms') . '</span>'; } echo '</div>'; } // print course button function gdlr_lms_print_course_button($course_options, $options = array('buy', 'book', 'learn')){ global $gdlr_lms_option, $current_user; echo '<div class="gdlr-course-button" >'; // for non member course if( !empty($course_options['allow-non-member']) && $course_options['allow-non-member'] == 'enable' && (empty($course_options['online-course']) || $course_options['online-course'] == 'enable') && (in_array('buy', $options) || in_array('book', $options)) ){ $options = array('start'); // if not logging in }else if( !is_user_logged_in() ){ // && !in_array('finish-quiz', $options) $lightbox_open = 'login-form'; gdlr_lms_sign_in_lightbox_form(); }else{ // when purchase button is available if( in_array('buy', $options) || in_array('book', $options) ){ // prerequisite course $prerequisite = false; if( !empty($course_options['prerequisite-course']) && $course_options['prerequisite-course'] != 'none' ){ $prerequisite = true; $find_row = gdlr_lms_get_payment_row($course_options['prerequisite-course'], $current_user->ID); $payment_status = empty($find_row)? false: $find_row->payment_status; $p_course_options = gdlr_lms_get_course_options($course_options['prerequisite-course']); // if prerequisite is offline course if( !empty($p_course_options['online-course']) && $p_course_options['online-course'] == 'disable' ){ if( $payment_status == 'paid' || $payment_status == 'reserved' ){ $prerequisite = false; } // for online course }else if( $payment_status == 'paid' || $payment_status == 'reserved' ){ // if prerequisite course has quiz if( !empty($p_course_options['quiz']) && $p_course_options['quiz'] != 'none' ){ $quiz_row = gdlr_lms_get_quiz_row($p_course_options['quiz'], $course_options['prerequisite-course'], $current_user->ID, ''); $quiz_status = empty($quiz_row)? false: $quiz_row->quiz_status; if( $quiz_status == 'complete' || $quiz_status == 'submitted' ){ $prerequisite = false; } }else{ $p_section = empty($find_row)? -1: intval($find_row->attendance_section); $p_course_settings = gdlr_lms_get_course_content_settings($course_options['prerequisite-course']); if( $p_section == sizeof($p_course_settings) ){ $prerequisite = false; } } } } // course author global $post; $is_course_author = ($post->post_author == $current_user->ID); // print button if( $prerequisite ){ $options = array('prerequisite'); }else{ $find_row = gdlr_lms_get_payment_row(get_the_ID(), $current_user->ID, 'payment_status, last_section'); $payment_status = empty($find_row)? false: $find_row->payment_status; // for paid and free courses if( $is_course_author || (empty($course_options['price']) && empty($course_options['discount-price'])) || $payment_status == 'paid'){ if( empty($course_options['online-course']) || $course_options['online-course'] == 'enable' ){ $options = array('start'); if( !empty($find_row->last_section) ){ $last_course_section = gdlr_lms_get_section_page($find_row->last_section); } }else if( $payment_status == 'reserved' ){ $options = array('booking-status'); }else if( $payment_status != 'paid' && !$is_course_author ){ $options = array('book'); }else{ $options = array(); } // booked course }else if( $payment_status == 'pending' || $payment_status == 'submitted' ){ $options = array('proceed-payment'); } } } } // receipt only if(in_array('buy', $options) && !empty($gdlr_lms_option['payment-method']) && $gdlr_lms_option['payment-method'] == 'receipt'){ unset($options[array_search('buy', $options)]); }else if(in_array('book', $options) && !empty($gdlr_lms_option['payment-method']) && $gdlr_lms_option['payment-method'] == 'paypal'){ unset($options[array_search('book', $options)]); } foreach( $options as $value ){ switch($value){ case 'buy': if( empty($course_options['expired-date']) || time() < strtotime($course_options['expired-date']) ){ echo '<a data-rel="gdlr-lms-lightbox" data-lb-open="'; echo empty($lightbox_open)? 'buy-form': $lightbox_open; echo '" class="gdlr-lms-buy-button gdlr-lms-button cyan" >' . __('Buy Now', 'gdlr-lms') . '</a>'; if(empty($lightbox_open)){ gdlr_lms_purchase_lightbox_form($course_options, 'buy'); } } break; case 'book': if( empty($course_options['expired-date']) || time() < strtotime($course_options['expired-date']) ){ echo '<a data-rel="gdlr-lms-lightbox" data-lb-open="'; echo empty($lightbox_open)? 'book-form': $lightbox_open; echo '" class="gdlr-lms-book-button gdlr-lms-button blue" >' . __('Book Now', 'gdlr-lms') . '</a>'; if(empty($lightbox_open)){ gdlr_lms_purchase_lightbox_form($course_options, 'book'); } } break; case 'learn': echo '<a class="gdlr-lms-learn-more-button gdlr-lms-button black" href="' . get_permalink() . '" >' . __('Learn More', 'gdlr-lms') . '</a>'; break; case 'start': if( !empty($course_options['lock-course-date']) && $course_options['lock-course-date'] == 'enable' && (( !empty($course_options['start-date']) && strtotime(current_time('Y-m-d')) < strtotime($course_options['start-date']) ) || ( !empty($course_options['end-date']) && strtotime(current_time('Y-m-d')) > strtotime($course_options['end-date']) )) ){ }else{ if( !empty($last_course_section) ){ echo '<a class="gdlr-lms-start-button gdlr-lms-button cyan" href="' . esc_url(add_query_arg(array('course_type'=>'content', 'course_page'=>$last_course_section[0],'lecture'=>$last_course_section[1]), get_permalink())) . '" >'; _e('Continue the course', 'gdlr-lms'); echo '</a>'; }else{ echo '<a class="gdlr-lms-start-button gdlr-lms-button cyan" href="' . esc_url(add_query_arg(array('course_type'=>'content', 'course_page'=>1), get_permalink())) . '" >'; _e('Start the course', 'gdlr-lms'); echo '</a>'; } } break; case 'proceed-payment': global $current_user; echo '<a class="gdlr-lms-proceed-payment-button gdlr-lms-button cyan" href="' . esc_url(add_query_arg('type', 'book-courses', get_author_posts_url($current_user->ID))) . '" >'; _e('Proceed to Payment', 'gdlr-lms'); echo '</a>'; break; case 'booking-status': global $current_user; echo '<a class="gdlr-lms-button cyan" href="' . esc_url(add_query_arg('type', 'free-onsite', get_author_posts_url($current_user->ID))) . '" >'; _e('Booking Status', 'gdlr-lms'); echo '</a>'; break; case 'prerequisite': echo __('You have to complete ', 'gdlr-lms') . '<a href="' . get_permalink($course_options['prerequisite-course']) . '" >'; echo get_the_title($course_options['prerequisite-course']); echo '</a> ' . __('before you can access this course.', 'gdlr-lms'); break; case 'quiz': if( !empty($course_options['quiz']) && $course_options['quiz'] != 'none' ){ global $current_user; $quiz_status = gdlr_lms_quiz_status($course_options['quiz'], get_the_ID(), $current_user->ID); if( $quiz_status == 'please-login-first' ){ echo '<div class="gdlr-login-for-quiz" style="padding: 0px 20px 30px">'; _e('You have to register and login to the site before you can take the quiz.', 'gdlr-lms'); echo '</div>'; }else if( $quiz_status == 'new-quiz' ){ echo '<a class="gdlr-lms-button cyan" href="' . esc_url(add_query_arg(array('course_type'=>'quiz', 'course_page'=>1), get_permalink())) . '" >'; _e('Take final quiz', 'gdlr-lms'); echo '</a>'; }else if( $quiz_status == 'old-quiz-retakable' ){ echo '<a class="gdlr-lms-button cyan" href="' . esc_url(add_query_arg(array('course_type'=>'quiz', 'course_page'=>1, 'retake'=>1), get_permalink())) . '" >'; _e('Retake final quiz', 'gdlr-lms'); echo '</a>'; } } break; case 'finish-quiz': echo '<a href="' . esc_url(add_query_arg(array('course_type'=>'quiz', 'course_page'=> 'finish'))) . '" '; echo 'data-loading="' . __('Submitting the answer','gdlr-lms') . '" '; echo 'class="gdlr-lms-button cyan finish-quiz-form-button" >'; _e('Finish the quiz', 'gdlr-lms'); echo '</a>'; gdlr_lms_finish_quiz_form(); break; } } echo '</div>'; } // function gdlr_lms_finish_section_quiz($redirect){ echo '<a href="' . esc_url(add_query_arg(array('course_type'=>'section-quiz', 'section-quiz'=> 'finish'))) . '" '; echo 'data-loading="' . __('Submitting the answer','gdlr-lms') . '" '; echo 'class="gdlr-lms-button cyan finish-quiz-form-button" >'; _e('Finish the quiz', 'gdlr-lms'); echo '</a>'; gdlr_lms_finish_quiz_form($redirect); } // print course thumbnail function gdlr_lms_print_course_thumbnail($size = 'full'){ $image_id = get_post_thumbnail_id(); if(empty($image_id)) return; $image = wp_get_attachment_image_src($image_id, $size); $alt = get_post_meta($image_id, '_wp_attachment_image_alt', true); echo '<div class="gdlr-lms-course-thumbnail">'; echo (!is_single())? '<a href="' . get_permalink() . '" >': ''; echo '<img src="' . $image[0] . '" alt="' . $alt . '" width="' . $image[1] . '" height="' . $image[2] . '" />'; echo (!is_single())? '</a>': ''; echo '</div>'; } ?>