<div class="alignleft actions">
				<select name="course_id" id="dynamic_courses" class="chosen-select">

					<?php 
$args = array('post_type' => 'course', 'post_status' => 'any', 'posts_per_page' => -1);
$courses = get_posts($args);
$courses_with_students = 0;
$course_num = 0;
$first_course_id = 0;
foreach ($courses as $course) {
    if ($course_num == 0) {
        $first_course_id = $course->ID;
    }
    $course_obj = new Course($course->ID);
    $course_object = $course_obj->get_course();
    if ($course_obj->get_number_of_students() >= 1) {
        $courses_with_students++;
        ?>
							<option value="<?php 
        echo $course->ID;
        ?>
" <?php 
        echo isset($_GET['course_id']) && $_GET['course_id'] == $course->ID ? 'selected="selected"' : '';
        ?>
><?php 
        echo $course->post_title;
        ?>
</option>
						<?php 
    }
 function check_for_valid_post_type_permalinks($permalink, $post, $leavename)
 {
     if (get_post_type($post->ID) == 'discussions') {
         $course_id = get_post_meta($post->ID, 'course_id', true);
         if (!empty($course_id)) {
             $course_obj = new Course($course_id);
             $course = $course_obj->get_course();
             return str_replace('%course%', $course->post_name, $permalink);
         } else {
             return $permalink;
         }
     } else {
         if (get_post_type($post->ID) == 'notifications') {
             $course_id = get_post_meta($post->ID, 'course_id', true);
             if (!empty($course_id)) {
                 $course_obj = new Course($course_id);
                 $course = $course_obj->get_course();
                 return str_replace('%course%', $course->post_name, $permalink);
             } else {
                 return $permalink;
             }
         } else {
             if (get_post_type($post->ID) == 'unit') {
                 return Unit::get_permalink($post->ID);
             } else {
                 return $permalink;
             }
         }
     }
 }
 function course_details($atts)
 {
     global $wp_query, $signup_url, $coursepress;
     $student = new Student(get_current_user_id());
     extract(shortcode_atts(array('course_id' => isset($wp_query->post->ID) ? $wp_query->post->ID : 0, 'field' => 'course_start_date'), $atts));
     $course_id = (int) $course_id;
     $field = sanitize_html_class($field);
     $course_obj = new Course($course_id);
     if ($course_obj->is_open_ended()) {
         $open_ended = true;
     } else {
         $open_ended = false;
     }
     $course = $course_obj->get_course();
     if ($field == 'action_links') {
         $withdraw_link_visible = false;
         if ($student->user_enrolled_in_course($course_id)) {
             if (strtotime($course->course_start_date) <= current_time('timestamp', 0) && strtotime($course->course_end_date) >= current_time('timestamp', 0) || strtotime($course->course_end_date) >= current_time('timestamp', 0) || $course->open_ended_course == 'on') {
                 //course is currently active or is not yet active ( will be active in the future )
                 $withdraw_link_visible = true;
             }
         }
         $course->action_links = '<div class="apply-links">';
         if ($withdraw_link_visible === true) {
             $course->action_links .= '<a href="?withdraw=' . $course->ID . '" onClick="return withdraw();">' . __('Withdraw', 'cp') . '</a> | ';
         }
         $course->action_links .= '<a href="' . get_permalink($course->ID) . '">' . __('Course Details', 'cp') . '</a></div>';
     }
     if ($field == 'class_size') {
         if ($course->class_size == '0' || $course->class_size == '') {
             $course->class_size = __('Infinite', 'cp');
         } else {
             $count_left = $course->class_size - $course_obj->get_number_of_students();
             $course->class_size = $course->class_size . ' ' . sprintf(__('( %d left )', 'cp'), $count_left);
         }
     }
     $passcode_box_visible = false;
     if (!isset($course->enroll_type)) {
         $course->enroll_type = 'anyone';
     } else {
         if ($course->enroll_type == 'passcode') {
             $course->enroll_type = __('Anyone with a Passcode', 'cp');
             $passcode_box_visible = true;
         }
         if ($course->enroll_type == 'prerequisite') {
             $course->init_enroll_type = 'prerequisite';
             $course->enroll_type = sprintf(__('Anyone who attanded to the %1s', 'cp'), '<a href="' . get_permalink($course->prerequisite) . '">' . __('prerequisite course', 'cp') . '</a>');
             //__( 'Anyone who attended to the ', 'cp' );
         }
     }
     if ($field == 'enroll_type') {
         if ($course->enroll_type == 'anyone') {
             $course->enroll_type = __('Anyone', 'cp');
         }
         if ($course->enroll_type == 'manually') {
             $course->enroll_type = __('Public enrollments are disabled', 'cp');
         }
     }
     if ($field == 'course_start_date' or $field == 'course_end_date' or $field == 'enrollment_start_date' or $field == 'enrollment_end_date') {
         $date_format = get_option('date_format');
         if ($course->open_ended_course == 'on') {
             $course->{$field} = __('Open-ended', 'cp');
         } else {
             if ($course->{$field} == '') {
                 $course->{$field} = __('N/A', 'cp');
             } else {
                 $course->{$field} = cp_sp2nbsp(date_i18n($date_format, strtotime($course->{$field})));
             }
         }
     }
     if ($field == 'price') {
         global $coursepress;
         $is_paid = get_post_meta($course_id, 'paid_course', true) == 'on' ? true : false;
         if ($is_paid && isset($course->marketpress_product) && $course->marketpress_product != '' && $coursepress->marketpress_active) {
             echo do_shortcode('[mp_product_price product_id="' . $course->marketpress_product . '" label=""]');
         } else {
             $course->price = __('FREE', 'cp');
         }
     }
     if ($field == 'button') {
         $course->button = '<form name="enrollment-process" method="post" action="' . do_shortcode("[courses_urls url='enrollment-process']") . '">';
         if (is_user_logged_in()) {
             if (!$student->user_enrolled_in_course($course_id)) {
                 if (!$course_obj->is_populated()) {
                     if ($course->enroll_type != 'manually') {
                         if (strtotime($course->course_end_date) <= current_time('timestamp', 0) && $course->open_ended_course == 'off') {
                             //Course is no longer active
                             $course->button .= '<span class="apply-button-finished">' . __('Finished', 'cp') . '</span>';
                         } else {
                             if ($course->enrollment_start_date !== '' && $course->enrollment_end_date !== '' && strtotime($course->enrollment_start_date) <= current_time('timestamp', 0) && strtotime($course->enrollment_end_date) >= current_time('timestamp', 0) || $course->open_ended_course == 'on') {
                                 if ($course->init_enroll_type == 'prerequisite' && $student->user_enrolled_in_course($course->prerequisite) || $course->init_enroll_type !== 'prerequisite') {
                                     $course->button .= '<input type="submit" class="apply-button" value="' . __('Enroll Now', 'cp') . '" />';
                                     $course->button .= '<div class="passcode-box">' . do_shortcode('[course_details field="passcode_input"]') . '</div>';
                                 } else {
                                     $course->button .= '<span class="apply-button-finished">' . __('Prerequisite Required', 'cp') . '</span>';
                                 }
                             } else {
                                 if (strtotime($course->enrollment_end_date) <= current_time('timestamp', 0)) {
                                     $course->button .= '<span class="apply-button-finished">' . __('Not available', 'cp') . '</span>';
                                 } else {
                                     $course->button .= '<span class="apply-button-finished">' . __('Not available', 'cp') . '</span>';
                                 }
                             }
                         }
                     } else {
                         //don't show any button because public enrollments are disabled with manuall enroll type
                     }
                 } else {
                     $course->button .= '<span class="apply-button-finished">' . __('Populated', 'cp') . '</span>';
                 }
             } else {
                 if ($course->course_start_date !== '' && $course->course_end_date !== '' || $course->open_ended_course == 'on') {
                     //Course is currently active
                     if (strtotime($course->course_start_date) <= current_time('timestamp', 0) && strtotime($course->course_end_date) >= current_time('timestamp', 0) || $course->open_ended_course == 'on') {
                         //Course is currently active
                         $course->button .= '<a href="' . trailingslashit(get_permalink($course->ID)) . trailingslashit($coursepress->get_units_slug()) . '" class="apply-button-enrolled">' . __('Go to Class', 'cp') . '</a>';
                     } else {
                         if (strtotime($course->course_start_date) >= current_time('timestamp', 0)) {
                             //Waiting for a course to start
                             $course->button .= '<span class="apply-button-pending">' . __('You are enrolled', 'cp') . '</span>';
                         }
                         if (strtotime($course->course_end_date) <= current_time('timestamp', 0)) {
                             //Course is no longer active
                             $course->button .= '<span class="apply-button-finished">' . __('Finished', 'cp') . '</span>';
                         }
                     }
                 } else {
                     //Course is inactive or pending
                     $course->button .= '<span class="apply-button-finished">' . __('Not available', 'cp') . '</span>';
                 }
             }
         } else {
             if ($course->enroll_type != 'manually') {
                 if (!$course_obj->is_populated()) {
                     if (strtotime($course->course_end_date) <= current_time('timestamp', 0) && $course->open_ended_course == 'off') {
                         //Course is no longer active
                         $course->button .= '<span class="apply-button-finished">' . __('Finished', 'cp') . '</span>';
                     } else {
                         if (($course->course_start_date == '' || $course->course_end_date == '') && $course->open_ended_course == 'off') {
                             $course->button .= '<span class="apply-button-finished">' . __('Not available', 'cp') . '</span>';
                         } else {
                             if (strtotime($course->enrollment_end_date) <= current_time('timestamp', 0) && $course->open_ended_course == 'off') {
                                 $course->button .= '<span class="apply-button-finished">' . __('Not available', 'cp') . '</span>';
                             } else {
                                 $course->button .= '<a href="' . $signup_url . '?course_id=' . $course->ID . '" class="apply-button">' . __('Signup', 'cp') . '</a>';
                             }
                         }
                     }
                 } else {
                     $course->button .= '<span class="apply-button-finished">' . __('Populated', 'cp') . '</span>';
                 }
             }
         }
         $course->button .= '<div class="clearfix"></div>';
         $course->button .= wp_nonce_field('enrollment_process');
         $course->button .= '<input type="hidden" name="course_id" value="' . $course_id . '" />';
         $course->button .= '</form>';
     }
     if ($field == 'passcode_input') {
         if ($passcode_box_visible) {
             $course->passcode_input = '<label>' . __("Passcode: ", "cp") . '<input type="password" name="passcode" /></label>';
         }
     }
     if (!isset($course->{$field})) {
         $course->{$field} = '';
     }
     return $course->{$field};
 }
													<?php 
        // CP_Helper_Tooltip::tooltip( __( 'Students will need to fulfil prerequisite in order to enroll.', 'cp' ) );
        ?>
												</label>

												<p><?php 
        _e('Students will need to complete the following prerequisite course in order to enroll.', 'cp');
        ?>
</p>
												<select name="meta_prerequisite" class="chosen-select">
													<?php 
        $args = array('post_type' => 'course', 'post_status' => 'any', 'posts_per_page' => -1, 'exclude' => $course_id);
        $pre_courses = get_posts($args);
        foreach ($pre_courses as $pre_course) {
            $pre_course_obj = new Course($pre_course->ID);
            $pre_course_object = $pre_course_obj->get_course();
            ?>
														<option value="<?php 
            echo $pre_course->ID;
            ?>
" <?php 
            selected($prerequisite, $pre_course->ID, true);
            ?>
><?php 
            echo $pre_course->post_title;
            ?>
</option>
													<?php 
        }
        ?>
												</select>